Anonim

有多种方法可以删除Microsoft Excel文件中的空白列。 您为什么需要这样做? –简单。

另请参阅我们的文章如何在Excel中冻结顶部行

时不时地,从网页导入的数据可能会导致出现很多列,即使它们没有被使用。 您会经常在CSV文件和.txt文件中看到这种情况。

发生这种情况时,手动删除列可能并不总是那么容易。 当然,如果您只有两个或三个空列,则可以手动删除它们。 但是,如果您导入的项目创建了57个空列和非连续列,该怎么办? –为此,您需要一个自动化过程。

使用VBA宏

快速链接

  • 使用VBA宏
        • 转到您的Excel文件
        • 同时按住Alt和F11
        • 等待Microsoft Visual Basic for Applications窗口出现
        • 点击插入
        • 选择模块
        • 将以下代码行粘贴到窗口中
        • 按F5编译并执行宏
        • 在对话框窗口中输入适当的工作范围
        • $ A $ 1 –顶角
        • $ J $ 12 –底角
        • 按确定
  • 使用Excel工具
        • 首先选择数据范围
        • 按F5
        • 单击特殊
        • 选择空白选项
        • 单击确定(此选择将确保在目标范围内选择所有空白单元格)
        • 转到首页标签
        • 选择“单元格”工具组下的“删除”下拉菜单
        • 选择删除单元格
        • 选择“左移单元格”以删除和重新排列列
        • 点击确定
        • 选择向上移动单元格以删除和重新排列行
  • 其他易于执行的排序任务
  • 最后的想法

第一种方法涉及使用VBA宏。

  1. 转到您的Excel文件

  2. 同时按住Alt和F11

  3. 等待Microsoft Visual Basic for Applications窗口出现

  4. 点击插入

  5. 选择模块

  6. 将以下代码行粘贴到窗口中

Sub DeleteEmptyColumns()
'Updateby20140317
Dim rng As Range
Dim InputRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Application.ScreenUpdating = False
For i = InputRng.Columns.Count To 1 Step -1
Set rng = InputRng.Cells(1, i).EntireColumn
If Application.WorksheetFunction.CountA(rng) = 0 Then
rng.Delete
End If
Next
Application.ScreenUpdating = True
End Sub

  1. 按F5编译并执行宏

  2. 在对话框窗口中输入适当的工作范围

工作范围或数据范围是要定位的列之间的特定间隔。 格式为$ A $ 1:$ J $ 12。 字母对应于列,数字对应于行。

如果使用鼠标或按住Shift并使用箭头键将其拖出,则会注意到:

$ A $ 1 –顶角

$ J $ 12 –底角

在开始上传宏之前,您无法选择数据范围,因为它不会保持选中状态。

按确定

在那之后,所有空列应被擦除,而所有填充列应彼此相邻。

使用Excel工具

显然,如果Excel没有强大的排序功能,它就不会那么强大。 您可以使用“删除”下拉菜单删除整个行,列或空白单元格。

  1. 首先选择数据范围

  2. 按F5

  3. 单击特殊

  4. 选择空白选项

  5. 单击确定(此选择将确保在目标范围内选择所有空白单元格)

  6. 转到首页标签

  7. 选择“单元格”工具组下的“删除”下拉菜单

  8. 选择删除单元格

  9. 选择“左移单元格”以删除和重新排列列

  10. 点击确定

现在,空白列中的空白单元格应该消失了,所有其他行将一起移近。

您可以使用相同的方法删除整个行。 但是,不要将单元格移到左侧,而是选择另一个选项。

选择向上移动单元格以删除和重新排列行

根据您所运行的Excel版本,您可能会得到不同的措词。 但是无论如何,“删除单元格”菜单中的前两个选项始终相同。

此方法不再删除所选内容中的所有空白单元格。 在Excel 2013之前,这会无意间删除甚至会弄乱排序的空行。

现在,该问题不再发生。 因此,如果您还希望摆脱这些行,则可以通过再次选择数据范围并按照前面的步骤进行操作。 然后只需选择向上移动或删除单元格,而不是向左移动。

其他易于执行的排序任务

尽管从技术上讲,使用Excel工具栏删除空的列和行似乎更容易,但是VBA宏方法是万无一失的,这意味着您甚至可以在较旧的Microsoft Excel版本中使用它。

使用相同的VBA模块或“转到”功能菜单,您可以在Excel中执行更多操作。 您是否已不再使用某些公式? –您也可以删除它们或相应地重新排列它们。

如果您不希望它们在演示过程中出现,您还可以从项目中删除不必要的注释或所有注释。 如果您想成为Excel高级用户,请查看VBA。

最后的想法

多年来,在线上出现了各种各样的附加组件。 其中一些允许您在对大型电子表格进行排序时采用更多的快捷方式。 但是,这些应用程序很少免费提供,因此对于诸如删除空白行,单元格和列之类的简单任务不值得麻烦。

此外,如果有那么困难,Microsoft会进一步简化此过程,或者创建有关Excel排序的更广泛的指南。

如何在Microsoft Excel中删除所有空白列