答案1
不幸的是,微软决定,不连续的列(至少有一列与表相交)不能同时删除。至于原因,你得问他们(可能是因为表格是后来添加的功能,所以“太难了”。)
你能否则同时删除多个不连续的列。
如果你希望定期使用 Tables 来做这件事,那么是可以编写一些 VBA,并将其映射到键盘快捷键(甚至是键Del)或将其添加到功能区。代码将循环遍历列并逐一删除它们。
答案2
答案3
我想向您推荐简单的宏,一次性删除多个不相邻的列。
Public Sub DeleteColumns()
Dim i As Long, arr As Variant
arr = Split("2-4-6", "-")
Application.ScreenUpdating = False
With Sheet1
For i = UBound(arr) + 1 To LBound(arr) + 1 Step -1
.Cells(Val(arr(i - 1))).EntireColumn.Delete
Next
End With
Application.ScreenUpdating = True
End Sub
注意:
- 您可以用所需的列号(如 Split("1-3-5"))替换 Split("2-4-6",,) 中的值。
- 列的顺序必须按升序排列。
- 使用 Sheet1,也是可编辑的。