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

AB
1りんご10
25
3みかん10
45

こんな感じのエクセルの表で、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