2017-09-01 5 views
0

私はヘッダーを持つ最初の行以外のA2:H2行の内容をクリアするために以下のコードを使用しています。このコードは、間に空白のセルがない場合にうまく機能します。しかし空白のセルがあっても、どうすればすべてをクリアすることができますか?ExcelのVBAを使用して最初の行以外の行データをすべてクリアします

Sub Clear() 

Dim s1Sheet As Worksheet 

Set s1Sheet = Workbooks("StockScreen.xlsm").Sheets("TimeStampWork") 

s1Sheet.Range(s1Sheet.Range("A2:H2"), s1Sheet.Range("A2:H2").End(xlDown)).ClearContents 

End Sub 

答えて

0

代わりの

s1Sheet.Range(s1Sheet.Range("A2:H2"), s1Sheet.Range("A2:H2").End(xlDown)).ClearContents 

データとの最後の行がColumn Aを使用してカウントされ、ここで

s1Sheet.Range("A2:H" & s1Sheet.Cells(s1Sheet.Rows.Count, "A").End(xlUp).Row). 

又は

With s1Sheett 
    .Range("A2:H" & .Cells(.Rows.Count, "A").End(xlUp).Row).ClearContents 
End With 

を試みます。あなたは、単に特定の行番号に特定の行番号から行全体を削除したい場合は、あなたがRangeCellプロパティを使用して回避することができ

+0

@acr - 私の更新された回答を参照してください。 – Mrig

0

、代わりにあなたはRowsプロパティを使用することができます。

s1Sheett.Rows("2:10").ClearContents 

または、データを含む特定の行番号から最後の行まですべてを削除する場合は、次のように使用できます。

s1Sheett.Rows("2:" & currentSheet.Rows.Count).ClearContents 
関連する問題