次のマクロ Excel の結果を得るために、どの VB コードを使用できるか教えてもらえますか?
列Bが空白の場合、列Aのコンテンツを削除したい。これは私がどこまで来たかです:
If Range ("B66")= IsEmpty Then
Range ("A66").Select
Selection.ClearContents
End If
Sub Main()
Application.ScreenUpdating = False
Dim i As Long, r As Range
For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
Set r = Range("A" & i)
If IsEmpty(r.Offset(0, 1)) Then r.EntireRow.Delete shift:=xlUp
Next i
Application.ScreenUpdating = True
End Sub
最初に、列 A のすべてのセルを循環するループが必要です
For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
列 A の最後のセルから最初のセルまで反復するループを設定します
Range("A" & Rows.Count).End(xlUp).Row
列 A で使用された最後のセルを検索します
Set r = Range("A" & i)
r 変数を Range オブジェクトに設定します
If IsEmpty(r.Offset(0, 1)) Then
オフセットは同じ行の列 B のセルを指しているため、列 A の隣接セル (cell(sameRow, column B) である) が空の場合
r.EntireRow.Delete shift:=xlUp
行全体を削除
Application.ScreenUpdating = False/True
ループを使用するときは、画面の更新をオフにして実行を高速化します