お世話になっております。
C3~G2000の範囲で空白セルを検出し、
空白セルが合った場合には、空白セルに"-"を入れたいのでが、
効率よくできる方法はないでしょうか?
本当は、セル範囲は可変にしたいです。毎回同じ範囲にデーターが収まるとは限らないので。
自分の場合は、各列をループで一つ一つのセルを空白か否かを
判定するコードにしたのですが、これだと、列分、同じコードを
書くことになり、非効率ですし。
でも、CurrentRegionは一体どこまでの範囲か不明確ですし。
↓こんな非効率なコードになってしまいます。
まだまだ、勉強不足を痛感しております。
vba
1Sub test() 2 Dim C_MaxRow As Long 'C列の最終行 3 Dim i As Long 4 5 D_MaxRow = Cells(Rows.Count, 4).End(xlUp).Row - 2 6' MsgBox D_MaxRow 7 8 For i = 3 To C_MaxRow 9 If Cells(i, 2).Value <> "" Then 10 'データーがある場合は、何もしない。 11 Else 12 Cells(i, 2).Value = "-" 13 End If 14 Next 15 16 For i = 3 To C_MaxRow 17 If Cells(i, 3).Value <> "" Then 18 19 Else 20 Cells(i, 3).Value = "-" 21 End If 22 Next 23 24 For i = 3 To C_MaxRow 25 If Cells(i, 4).Value <> "" Then 26 27 Else 28 Cells(i, 4).Value = "-" 29 End If 30 Next 31 32 For i = 3 To C_MaxRow 33 If Cells(i, 5).Value <> "" Then 34 35 Else 36 Cells(i, 5).Value = "-" 37 End If 38 Next 39End Sub
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。