VBA Excel マクロ: セル内のデータに基づいてシートを保持および削除する

VBA Excel マクロ: セル内のデータに基づいてシートを保持および削除する

これは非常に単純な質問かもしれませんが、私にはわかりません。13 個のスプレッドシートを作成するマクロを実行しています。これらの 13 個のスプレッドシートのうち、いくつかのスプレッドシートには列 A2 に何も入っていません。VBA で、A2 に何も入っていないすべてのスプレッドシートを削除し、A2 にデータが入っているスプレッドシートを残すマクロを作成できるようにしたいと思います。次のものを試しました。

Sub Delete()
Dim ws As Worksheet
  For Each ws In ActiveWorkbook.Worksheets
    Application.DisplayAlerts = False
      If LenB(ActiveSheet.Range("A2")) = 0 Then ActiveSheet.Delete
    Application.DisplayAlerts = True
  Next ws
End Sub

これにより、A2 に何もない場合はアクティブなシートが削除されるため、私にとってはある程度の進歩ですが、次のシートに自動的に移動することはありません。

答え1

コードに一貫性がないので、どこでも のws代わりにを使用する必要がありますActiveSheet

関連情報