VBAの最近のブログ記事
C列のセルが空白の場合、A〜Cを削除して上に詰めるマクロ。
ポイントは、ループのiを大きい方からまわすこと。
行を削除していくため、1からループさせると、無限ループに陥ります。
Dim ID As String
For i = 1000 To 1 Step -1
If Range("C" & i).Value = "" Then
Range("A" & i & ":C" & i).Delete (xlShiftUp)
End If
Next i
End Sub
A | B | |
1 | りんご | 10 |
2 | 5 | |
3 | みかん | 10 |
4 | 5 |
こんな感じのエクセルの表で、A2にリンゴ、A4にみかんをいれたい、つまり空いてるセルを上のもので満たしたい時のマクロ。
行数は自分で調整して下さい。
Dim ID As String
For i = 1 To 9746 Step 1
If Range("A" & i).Value <> "" Then
ID = Range("A" & i).Value
Else
Range("A" & i).Value = ID
End If
Next i
End Sub