2016-07-27 8 views
2

すべての列に値が含まれていない場合、各ワークシートの最初の5行をすべて削除しようとしています。このプログラムは実行されますが、アクティブなワークシート上でのみ実行されます。私が逃したものはありますか?値が含まれていないブック内の各ワークシートの最初の5行を削除します

Sub DeleteFirst5Rows() 
Dim ws As Worksheet 
For Each ws In ActiveWorkbook.Worksheets 
    On Error Resume Next 
    Rows("1:5").SpecialCells(xlCellTypeBlanks).EntireRow.Delete 
Next ws 
End Sub 
+1

はい、ブックには多くのワークシートが含まれています。私はこのループが各ワークシートを通過すると思ったが、それはアクティブなものにのみ影響する。 –

+3

'If Application.CountA(ws.Range(" 1:5 ")= 0次にws.Range(" 1:5 ")。EntireRow.Delete' - 行を削除する –

+0

4番目の行に単一の値がある場合はどうなりますか1行目、2行目、3行目、5行目に値はありませんか? – Jeeped

答えて

0

これは完全に機能する更新されたコードです。皆さん、ありがとうございました。

Sub DeleteFirst5Rows() 
    Dim ws As Worksheet 
    For Each ws In ActiveWorkbook.Worksheets 
    If Application.CountA(ws.Range("1:5")) = 0 Then ws.Range("1:5").EntireRow.Delete 

    Next ws 
End Sub 
関連する問題