web-dev-qa-db-ja.com

Excel VBA:列Aのセルが空白の場合、行全体を削除(長いデータセット)

長いデータセットの列Aに空白のセルがあるすべての行を削除しようとしています(Excelでは60 000行以上)

セル数が約32 000未満の場合にうまく機能するVBAコードがあります。

   Sub DelBlankRows()

   Columns("A:A").Select
   Selection.SpecialCells(xlCellTypeBlanks).Select
   Selection.EntireRow.Delete

   End Sub

誰かがそれが多数の行で機能する方法を知っていますか?

ありがとうございました

7
user1783504

あなたは試すことができます:

_Application.ScreenUpdating = False
Columns("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Application.ScreenUpdating = True
_

_Application.ScreenUpdating_は、コードで行われた更新をユーザーに表示するかどうかを切り替えます。実際にセルを選択する必要がないため、Columns("A:A").SpecialCells(...を試してみると時間を節約できます-テストされていません。

10
ForkandBeard