我有一个特定的模板,该模板在单元格B9中启动它是打印的数组数据,但是我只想清除其内容(未删除,因为我有drop-drop-下菜单)。
Rows(8).Offset(1, 0).Resize(Rows.Count - 1).EntireRow.ClearContents
似乎不起作用,但是当我有Rows(1).Offset(1,0)
等...在那里时确实有用。当我调整行号以启动时,为什么现在不想工作?
Rows.Count
在工作表中给出最大行数(通常是1'048'576)。
拆分命令Rows(8).Offset(1, 0).Resize(Rows.Count - 1)
:
Rows(8)
为您提供第8行($8:$8
)
.Offset(1, 0)
给您下一行($9:$9
)
.Resize(Rows.Count - 1)
询问从第9行开始大小的范围,以便它是1'048'576行"高"。但是,这意味着第9行,直到行 1'048'585 ,这将是最大行数。
您可能的意思是删除数据结束。找出数据结束不是很容易的任务,通常是通过类似的结构来完成的 rowCount = Cells(Rows.Count, 2).End(xlUp).Row
。这将(实际上)跳到单元格B1048576,模拟键" ctrl up",然后(实际上)跳到该列中保存数据的最后一行。如果要检查该列,将2
更改为任何其他列号(A
为1 ...)。
尝试以下代码:
Dim rowCount As Long
With ActiveSheet
rowCount = .Cells(.Rows.Count, 2).End(xlUp).Row
.Rows(8).Offset(1, 0).Resize(rowCount - 1).EntireRow.ClearContents
End With