使用excel VBA清除除第一行以外的整个行数据

时间:2017-09-01 05:34:17

标签: excel vba excel-vba excel-2010

我使用下面的代码来清除A2中的内容:H2行除了第一个我有标题的行。如果中间没有空白单元格,则此代码可以正常工作。但是,如果有一个空白单元格,我该如何清除所有内容呢?

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

5 个答案:

答案 0 :(得分:1)

如果您只想将特定行号中的整行删除到特定行号,则可以避免使用RangeCell属性,而是可以使用{{1 property:

Rows

或者,如果您要删除从特定行号到包含数据的最后一行的所有内容,您可以使用:

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

答案 1 :(得分:0)

下面是我的示例代码:

Sub ClearContentExceptFirst()
    Rows("2:" & Rows.Count).ClearContents
End Sub

答案 2 :(得分:0)

这对我有用

Sheets("MY_SHEET_NAME").Rows("2:" & Sheets("MY_SHEET_NAME").Rows.Count).ClearContents

答案 3 :(得分:0)

我使用下面的代码检查是否有任何行要删除。

If Application.ActiveSheet.UsedRange.Rows.Count > 1 Then
    
    ActiveSheet.Rows("2:" & Application.ActiveSheet.UsedRange.Rows.Count).ClearContents
    
End If

答案 4 :(得分:-1)

而不是

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

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

这里使用Column A计算最后一行数据。