我有下面的代码选择A5以下的所有数据,包括右边的17列,然后偏移一个,所以我不清除标题行。
Set wksdestination = Sheets("Continental")
Set registcell = wksdestination.Range("A5")
Set rngdata = Range(registcell.End(xlDown).Offset(0, 17), registcell.Offset(1, 0))
rngdata.Clear
我还需要它清除结束行下面的两行 ,并且在某些列下面的单元格中偶尔会有一些SUM函数。有人可以帮助最后一点添加选择下面的两行吗?
我试过
Set wksdestination = Sheets("Continental")
Set registcell = wksdestination.Range("A5")
Set rngdata = Range(registcell.End(xlDown).Offset(2, 17), registcell.Offset(1, 0))
rngdata.Clear
但是这会产生运行时错误'1004'
我也试过了下面的内容,但如果没有数据则会中断,并且因为涉及选择不同的工作表而不理想,如果没有选择每张工作表就会更喜欢,但如果这是唯一的方法那么我必须做
Set wksdestination = Sheets("Continental")
Set registcell = wksdestination.Range("A5")
Set rngdata = Range(registcell.End(xlDown).Offset(0, 17), registcell.Offset(1, 0))
wksdestination.Select
Range(rngdata.Offset(2, 0), rngdata).Select
Selection.Clear
由于
答案 0 :(得分:1)
尝试这种替代的细胞范围选择和偏移方法,以防止A5以下没有数据。
Dim wksdestination As Worksheet
Set wksdestination = Sheets("Continental")
With wksdestination
With .Range("A5").Resize(Application.Max(2, .Cells(Rows.Count, 1).End(xlUp).Row - 3), 17)
.Offset(1, 0).ClearContents
End With
End With
至少,A5下面的两行将从A列到Q列清除内容和公式(但不是格式化)。