私はマクロとスクリプト全般に不慣れです。
列 3、4、および 5 が空の場合、行を削除したいと思います。
Sub DeleteRows()
Columns(3).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
ケースが3行目だけの場合に機能しますが、意図したとおりに機能させるためにさまざまな方法を試しました。それらはすべて何らかのエラーになります。
それで、どうすればいいですか?
これを試して:
Sub DeleteRows()
For i = 3 to 5
Columns(i).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Next
これに関する唯一の問題は、空白のセルがない場合、エラーが返されることです。これに代わる方法は、EntireRow.Delete の前に空白のセルがあるかどうかを確認することです。
方法は次のとおりです。
Sub DeleteRows()
Dim rngBlanks as Range
Dim i as Integer
For i = 3 to 5
On Error Resume Next
Set rngBlanks = Columns(i).SpecialCells(xlCellTypeBlanks)
On Error GoTo 0
If Not rngBlanks is nothing then
rngBlanks.EntireRow.Delete
End if
Next
これが機能するかどうか、さらに説明が必要な場合はお知らせください。