从外部源导入信息时,数据可能包含空白列,其中不包含任何列。如果您导入大量数据,那么删除这些列可能会很麻烦。您有几种方法可以删除这些列。

如果您的数据按列排序,则第一种方法效果很好。换句话说,您导入的数据是按升序排列的,或者您想要按排序的顺序排列。在这种情况下,请按照下列步骤操作:

。选择代表您的数据的列。确保同时选择所有空白列作为范围的一部分。

。显示功能区的“数据”选项卡。

。单击排序工具。 Excel将显示“排序”对话框。

。单击选项按钮。 Excel将显示“排序选项”对话框。

(请参见图1。)

。选择“从左到右排序”单选按钮。

。单击确定以关闭“排序选项”对话框。

。使用第一个“排序依据”下拉列表,指定要进行排序的行。

。单击确定。

以这种方式进行排序时,所有空列最终都将“推”到右侧,并且您的数据是按排序顺序进行的。

如果您不希望对数据进行排序,则可以使用一个漂亮的宏,该宏将检查选定范围内的空白列,然后删除这些列。以下宏可以解决问题:

Sub DeleteEmptyColumns()

first = Selection.Column     last = Selection.Columns(Selection.Columns.Count).Column     For i = last To first Step -1         If WorksheetFunction.CountBlank(ActiveSheet.Columns(i)) _           = ActiveSheet.Rows.Count Then             Columns(i).Delete         End If     Next i End Sub

若要使用宏,请选择要删除空白列的列范围。宏将逐步浏览各列,如果该列确实为空白,则将其删除。您应注意,此宏将仅删除真正为空的列。如果列中的单元格包含一个返回零值的公式(并且您关闭了零值的显示)或返回一个空字符串,则该列不为空-它包含公式。在这种情况下,该列将不会被删除。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(6149)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: