如何正确清除表中特定列的内容(excel)
我正在使用的表格大约有40k行,我想要清除的数据在前15列,所以我有以下代码来完成这项工作:
Sub DeleteOperationsTable() Application.EnableEvents = False Dim i As Integer For i = 1 To 15 (*) Sheet(1).ListObjects("Table1").ListColumns(i).DataBodyRange.Clear Next i Application.EnableEvents = True End Sub
碰巧只有第1到第7列被清除。
所以要debugging我设置了一个断点(*)的问题,它似乎进入了一个无限循环。 在第七次迭代之后,子从头再次开始。
谁能告诉我为什么会发生这种情况?
让我猜猜! :)您在工作表中有事件,通过更改工作表调用DeleteOpertationsTable()
。
如果你通过Application.EnableEvents = False
禁用事件,你的代码应该可以工作。 我已经尝试过,这是可以的:
For i = 1 To 15 Sheets(1).ListObjects("Table1").ListColumns(i).DataBodyRange.Clear Next i