如何同时删除Excel中的多个不相邻的列?

如何同时删除Excel中的多个不相邻的列?

当我选择多个(不相邻)列并尝试一次性删除它们时,Excel 会将删除列的选项变灰。只有当我选择相邻列时,列删除选项才可用。为什么会出现这种情况?有没有办法同时删除多个不相邻的列?

灰色的删除选项

答案1

不幸的是,微软决定,不连续的列(至少有一列与表相交)不能同时删除。至于原因,你得问他们(可能是因为表格是后来添加的功能,所以“太难了”。)

否则同时删除多个不连续的列。

如果你希望定期使用 Tables 来做这件事,那么可以编写一些 VBA,并将其映射到键盘快捷键(甚至是键Del)或将其添加到功能区。代码将循环遍历列并逐一删除它们。

答案2

正如你所创造的Excel 表格,我认为这是不可能的。您必须逐一删除不相邻的列。

(参考)

答案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,也是可编辑的。

相关内容