有多种方法可以删除Microsoft Excel文件中的空白列。 您为什么需要这样做? –简单。
另请参阅我们的文章如何在Excel中冻结顶部行
时不时地,从网页导入的数据可能会导致出现很多列,即使它们没有被使用。 您会经常在CSV文件和.txt文件中看到这种情况。
发生这种情况时,手动删除列可能并不总是那么容易。 当然,如果您只有两个或三个空列,则可以手动删除它们。 但是,如果您导入的项目创建了57个空列和非连续列,该怎么办? –为此,您需要一个自动化过程。
使用VBA宏
快速链接
- 使用VBA宏
-
-
- 转到您的Excel文件
- 同时按住Alt和F11
- 等待Microsoft Visual Basic for Applications窗口出现
- 点击插入
- 选择模块
- 将以下代码行粘贴到窗口中
- 按F5编译并执行宏
- 在对话框窗口中输入适当的工作范围
- $ A $ 1 –顶角
- $ J $ 12 –底角
- 按确定
-
-
- 使用Excel工具
-
-
- 首先选择数据范围
- 按F5
- 单击特殊
- 选择空白选项
- 单击确定(此选择将确保在目标范围内选择所有空白单元格)
- 转到首页标签
- 选择“单元格”工具组下的“删除”下拉菜单
- 选择删除单元格
- 选择“左移单元格”以删除和重新排列列
- 点击确定
- 选择向上移动单元格以删除和重新排列行
-
-
- 其他易于执行的排序任务
- 最后的想法
第一种方法涉及使用VBA宏。
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
工作范围或数据范围是要定位的列之间的特定间隔。 格式为$ A $ 1:$ J $ 12。 字母对应于列,数字对应于行。
如果使用鼠标或按住Shift并使用箭头键将其拖出,则会注意到:
$ A $ 1 –顶角
$ J $ 12 –底角
在开始上传宏之前,您无法选择数据范围,因为它不会保持选中状态。
按确定
在那之后,所有空列应被擦除,而所有填充列应彼此相邻。
使用Excel工具
显然,如果Excel没有强大的排序功能,它就不会那么强大。 您可以使用“删除”下拉菜单删除整个行,列或空白单元格。
-
首先选择数据范围
-
按F5
-
单击特殊
-
选择空白选项
-
单击确定(此选择将确保在目标范围内选择所有空白单元格)
-
转到首页标签
-
选择“单元格”工具组下的“删除”下拉菜单
-
选择删除单元格
-
选择“左移单元格”以删除和重新排列列
-
点击确定
现在,空白列中的空白单元格应该消失了,所有其他行将一起移近。
您可以使用相同的方法删除整个行。 但是,不要将单元格移到左侧,而是选择另一个选项。
选择向上移动单元格以删除和重新排列行
根据您所运行的Excel版本,您可能会得到不同的措词。 但是无论如何,“删除单元格”菜单中的前两个选项始终相同。
此方法不再删除所选内容中的所有空白单元格。 在Excel 2013之前,这会无意间删除甚至会弄乱排序的空行。
现在,该问题不再发生。 因此,如果您还希望摆脱这些行,则可以通过再次选择数据范围并按照前面的步骤进行操作。 然后只需选择向上移动或删除单元格,而不是向左移动。
其他易于执行的排序任务
尽管从技术上讲,使用Excel工具栏删除空的列和行似乎更容易,但是VBA宏方法是万无一失的,这意味着您甚至可以在较旧的Microsoft Excel版本中使用它。
使用相同的VBA模块或“转到”功能菜单,您可以在Excel中执行更多操作。 您是否已不再使用某些公式? –您也可以删除它们或相应地重新排列它们。
如果您不希望它们在演示过程中出现,您还可以从项目中删除不必要的注释或所有注释。 如果您想成为Excel高级用户,请查看VBA。
最后的想法
多年来,在线上出现了各种各样的附加组件。 其中一些允许您在对大型电子表格进行排序时采用更多的快捷方式。 但是,这些应用程序很少免费提供,因此对于诸如删除空白行,单元格和列之类的简单任务不值得麻烦。
此外,如果有那么困难,Microsoft会进一步简化此过程,或者创建有关Excel排序的更广泛的指南。