2017-09-01 44 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 

尝试

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计数。

+0

@acr - 查看我的更新回答。 – Mrig

0

如果你只是想从一个特定的行号的整行删除到一个特定的行号,你能避免使用RangeCell性质,而是可以使用Rows属性:

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

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

s1Sheett.Rows("2:" & currentSheet.Rows.Count).ClearContents