No.2ベストアンサー
- 回答日時:
こんばんは!
関数で出来そうですが、VBAをご希望だというコトなので・・・
一例です。
Sub Sample1()
Dim i As Long
For i = 2 To Cells(Rows.Count, "C").End(xlUp).Row
With Cells(i, "C")
If IsNumeric(.Value) And .Value > 999 Then
Cells(i, "D") = .Value
Else
Cells(i, "D").ClearContents
End If
End With
Next i
End Sub
こんな感じではどうでしょうか?m(_ _)m
ご回答ありがとうございます。
NO.5様と違うコードですが、いずれにしても実現できました。
IF,LEN,VLOOKUP関数で出来ますが、VBAのほうはどんな感じなのかを知りたかったんです。
参考になりました。
No.5
- 回答日時:
こんにちは
エクセルの関数機能を利用した別案です。
※ 文章からだけだと限定条件がいろいろと考えられるので、ひとまず以下にしてあります。
『C列の値が整数の数値(数字の文字列は除く)で10000~9999までの場合に採用』
Sub Sample()
With Cells(2, 4).Resize(WorksheetFunction.Max(Cells(Rows.Count, 3).End(xlUp).Row - 1, 1))
.FormulaLocal = "=IF(ISNUMBER(C2)*(LEN(C2)=4)*(LEN(TEXT(C2,""0""))=4),C2,"""")"
.Value = .Value
End With
End Sub
ご回答ありがとうございます。
実現できました。
IF,LEN,VLOOKUP関数で出来ますが、VBAのほうはどんな感じなのかを知りたかったんです。
勉強になりました。
No.4
- 回答日時:
☆「1000」~「9999」が対象の場合
Sub Sample①()
Dim 行 As Long
Dim 値 As String
Dim 対象 As Boolean
Columns("C:C").Columns.AutoFit
For 行 = 2 To Cells(Rows.Count, 2).End(xlUp).Row
対象 = False
値 = Cells(行, 3).Text
If Len(値) = 4 Then
If IsNumeric(値) Then
If 値 >= 1000 Then
If 値 <= 9999 Then
対象 = True
End If
End If
End If
End If
If 対象 Then
Cells(行, 4).Value = Cells(行, 3).Value
Else
Cells(行, 4).ClearContents
End If
Next
End Sub
☆「0000」~「9999」の文字列も対象にする場合
Sub Sample②()
Dim 行 As Long
Dim 値 As String
Dim 対象 As Boolean
Columns("C:C").Columns.AutoFit
For 行 = 2 To Cells(Rows.Count, 2).End(xlUp).Row
対象 = False
値 = Cells(行, 3).Text
If Len(値) = 4 Then
If IsNumeric(値) Then
If 値 <= 9999 Then
If Int(値) = 値 Then
対象 = True
End If
End If
End If
End If
If 対象 Then
Cells(行, 4).Value = Format(Cells(行, 3).Value, "0000")
Cells(行, 4).NumberFormatLocal = "0000"
Else
Cells(行, 4).ClearContents
End If
Next
End Sub
☆ 文字の物は対象外にする場合。
Sub Sample③()
Dim 行 As Long
Dim 値 As String
Dim 対象 As Boolean
Columns("C:C").Columns.AutoFit
For 行 = 2 To Cells(Rows.Count, 2).End(xlUp).Row
対象 = False
If VarType(Cells(行, 3).Value) <> vbString Then
値 = Cells(行, 3).Text
If Len(値) = 4 Then
If IsNumeric(値) Then
If 値 <= 9999 Then
If Int(値) = 値 Then
対象 = True
End If
End If
End If
End If
End If
If 対象 Then
Cells(行, 4).Value = Format(Cells(行, 3).Value, "0000")
Cells(行, 4).NumberFormatLocal = "0000"
Else
Cells(行, 4).ClearContents
End If
Next
End sub
※ もし期待に沿った結果ではなかった時は下図の場合どういう表示になれば良いかを提示して下さい。
No.3
- 回答日時:
No.1 に対する答えが無いと No.2 のような答えが返ります。
それで良いならば構いませんが、的確な回答を望むならば早めに回答ください。
No.2 の場合
「999.9」「1000.5」「9999.9」の数字や「1000」「9999」のような文字も対象になります。
「0000」や「0999」のような文字列は対象外になってしまいます。
No.1
- 回答日時:
図ですと、C列は文字列ではなく数字になっていますが「0123」のような物はどうなんでしょうか?次の内から選んでください。
①「1000」~「9999」が対象なので考えないで良い
②「0000」~「9999」の文字列も対象にする
③ 文字の物は対象外にする。
④ その他(具体的に説明して下さい)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマイナス表示 3 2022/03/28 16:35
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Excel(エクセル) Excelの関数についておしえてください。 3 2023/04/20 18:36
- Excel(エクセル) エクセル 関数について質問です。 2 2022/10/03 11:14
- Excel(エクセル) <スプレッドシート>IF関数の複数条件について 5 2022/10/27 14:38
- Excel(エクセル) Excel 文字列を結合するときに重複をなくしたい 関数・VBA 2 2022/12/12 10:40
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Visual Basic(VBA) Excel(VBA) 特定の条件に該当する行の値、書式を同じセルにコピ&ペーストしたいです 1 2022/05/21 18:18
- Excel(エクセル) エクセルの当番表を作っていますが教えてください 4 2023/01/06 12:12
- CGI VBAで条件から範囲を指定して色を塗る方法を知りたいです 1 2022/06/30 16:05
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
腕を見たら黄色くなってる部分...
-
検便についてです。 便は取れた...
-
勃起する時って痛いんですか? ...
-
原発不明がんで、来週入院します。
-
中出しをするとお腹が痛い・・・。
-
白血球が多いとどんな心配があ...
-
彼女のことが好きすぎて彼女の...
-
精子が黄色?
-
これって喉仏ですか? 私は女性...
-
筋トレするとチンコが縮んじゃ...
-
納豆食べた後の尿の納豆臭は何故?
-
EXCELで式からグラフを描くには?
-
口の中に黒い血の塊
-
tracert の結果で最後のルータ...
-
便潜血検査(検便)で柔らかい...
-
舌の裏の痛みのないプツプツの...
-
風俗店へ行く前のご飯
-
至急!尿検査前日にオナニーし...
-
検便を取ったのですが、棒から...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
白血球が多いとどんな心配があ...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
尿検査の前日は自慰控えたほう...
-
精子が黄色?
-
中出しをするとお腹が痛い・・・。
-
EXCELで条件付き書式で空白セル...
-
口の中に黒い血の塊
-
これって喉仏ですか? 私は女性...
-
2つの数値のうち、数値が小さい...
-
納豆食べた後の尿の納豆臭は何故?
-
EXCELで式からグラフを描くには?
-
小数点以下を繰り上げたものを...
-
excelでsin二乗のやり方を教え...
-
エクセル指定した範囲からラン...
おすすめ情報