Spe*_*azy 14 excel vba excel-vba excel-2010
我在excel 2010中有一个vba函数,我是在这里使用人们的帮助构建的.此函数复制表/表单的内容,对其进行排序,并将它们发送到适当的表.
现在运行此函数后,我希望清除原始表.我可以使用以下代码实现此目的,假设ACell已被定义为表中的第一个单元格.
ACell.ListObject.Range.ClearContents工作正常,唯一的问题是它删除表以及数据值.
有没有办法解决?每次输入一些数据时,我宁愿不必设置表格.
Dou*_*ncy 33
怎么样:
ACell.ListObject.DataBodyRange.Rows.Delete
Run Code Online (Sandbox Code Playgroud)
这将保留您的表结构和标题,但清除所有数据和行.
编辑:我将修改你之前的帖子中我的答案的一部分,因为它主要是你想要的.这只留下一行:
With loSource
.Range.AutoFilter
.DataBodyRange.Offset(1).Resize(.DataBodyRange.Rows.Count - 1, .DataBodyRange.Columns.Count).Rows.Delete
.DataBodyRange.Rows(1).Specialcells(xlCellTypeConstants).ClearContents
End With
Run Code Online (Sandbox Code Playgroud)
如果你想保留所有行的公式和诸如此类的东西,那么就这样做:
With loSource
.Range.AutoFilter
.DataBodyRange.Specialcells(xlCellTypeConstants).ClearContents
End With
Run Code Online (Sandbox Code Playgroud)
哪个接近@Readify所建议的,除了它不会清除公式.
尝试清除数据(而不是整个表格,包括标题):
ACell.ListObject.DataBodyRange.ClearContents
Run Code Online (Sandbox Code Playgroud)