如何删除Excel中的空白列

  • Share This
Michael Brown

本教程将教你如何用宏、公式和点击按钮来删除Excel中的空栏。

尽管听起来很微不足道,但删除Excel中的空列并不是只用鼠标点击就能完成的。 它也不能在两次点击中完成。 审查工作表中的所有列并手动删除空列的前景肯定是你想避免的。 幸运的是,Microsoft Excel提供了大量不同的功能,通过使用这些功能具备创造性方法的特点,你可以应付几乎所有的任务!

    快速删除你永远不应该使用的空列的方法

    当谈到在Excel中删除空白时(无论是空单元格、行还是列),许多在线资源依赖于 转到专题 > 空白 指挥。 永远不要这样做 在你的工作表里!

    这种方法( F5 > 特别... > 空白 )找到并选择了 所有空单元格 在这个范围内。

    如果现在你右键单击选定的单元格并选择 删除 > 整个栏目 ,所有包含的列 至少有一个空白单元格 就会丢失!如果你不小心这么做了,按Ctrl + Z就可以把所有的东西找回来。

    现在你知道了在Excel中删除空白列的错误方法,让我们来看看如何正确操作。

    如何用VBA删除Excel中的空白列

    有经验的Excel用户都知道这条经验法则:不要浪费几个小时的时间去手动做一件事,投资几分钟写一个宏,它将自动为你做这件事。

    下面的VBA宏删除了所选范围内的所有空白列。 而且它做得很安全--只有绝对的空列被删除。 如果一列包含一个单元格值,甚至是一个由某些公式返回的空字符串,这样的列将保持不变。

    Excel宏:从Excel工作表中删除空列 Public Sub DeleteEmptyColumns() Dim SourceRange As Range Dim EntireColumn As Range On Error Resume Next Set SourceRange = Application.InputBox(_"选择一个范围:" , "删除空列" , _ Application.Selection.Address, Type :=8) If Not (SourceRange Is Nothing ) Then Application.ScreenUpdating = False For i = SourceRange.Columns.Count To 1Step -1 Set EntireColumn = SourceRange.Cells(1, i).EntireColumn If Application.WorksheetFunction.CountA(EntireColumn) = 0 Then EntireColumn.Delete End If Next Application.ScreenUpdating = True End If End Sub

    如何使用删除空列的宏程序

    以下是将宏添加到你的Excel中的步骤。

    1. 按Alt + F11打开Visual Basic编辑器。
    2. 在菜单栏上,点击 插入 > 模块 .
    3. 将上述代码粘贴到代码窗口。
    4. 按F5来运行宏。
    5. 当弹出的对话框出现时,切换到感兴趣的工作表,选择所需的范围,并点击确定。

    如果你不想在你的工作表中添加宏,你可以从我们的样本工作簿中运行它。 下面是方法。

    1. 下载我们的样本工作簿《删除Excel中的空白列》,打开它,如果有提示,请启用内容。
    2. 打开你自己的工作簿或切换到已经打开的工作簿。
    3. 在你的工作簿中,按Alt + F8 ,选择 DeleteEmptyColumns 宏,并点击 运行 .
    4. 在弹出的对话框中,选择范围并点击 认可 .

    无论哪种方式,选定范围内的所有空列都将被处理掉。

    用公式识别和删除Excel中的空白列

    上面的宏可以快速无声地删除空列。 但如果你是那种 "把所有东西都控制住 "的人(就像我:),你可能想直观地看到将要被删除的列。 在这个例子中,我们将首先通过使用一个公式来识别空白列,这样你就可以快速查看它们,然后消除所有或部分的列。

    注意:在永久删除任何东西之前,特别是通过使用未知的技术,我强烈建议你做一个 备份副本 你的工作簿,只是为了安全起见,如果出了问题。

    将备份副本放在安全的地方,执行以下步骤。

    第1步,插入一个新行

    在你的表格顶部添加一个新的行。 为此,右击第一行的标题,并点击 插入 不要担心会破坏你的数据结构/排列--你可以在以后删除这一行。

    第2步,识别空列

    在新增加的行的最左边的单元格中,输入以下公式。

    =COUNTA(A2:A1048576)=0

    然后,通过拖动填充柄将公式复制到其他列。

    该公式的逻辑非常简单:COUNTA检查列中空白单元格的数量,从第2行到第1048576行,这是Excel 2019-2007中的行数上限。 你将这个数字与零进行比较,结果是在空白列中为TRUE,在包含至少一个非空单元格的列中为FALSE。 由于使用了相对单元格引用,该公式对每一列进行适当调整它被复制的地方。

    如果你是为别人设置工作表,你可能想以更有意义的方式来标记这些列。 没问题,这可以通过类似于这样的IF语句轻松完成。

    =IF(COUNTA(A2:A1048576)=0, "空白", "非空白")

    现在,该公式明确指出哪些列是空的,哪些不是。

    提示:与宏相比,这种方法在哪些列应被视为空白方面给了你更大的灵活性。 在这个例子中,我们检查了整个表,包括标题行。 这意味着如果一列只包含一个标题,这样的列不会被视为空白,也不会被删除。 如果你想只检查数据行 忽略列标题 移除目标范围(A3:A1048576)中的标题行。 结果是,一个有标题而没有其他数据的列将被视为空白并被删除。 此外,你可以将范围限制在最后使用的行,在我们的例子中是A11。

    第3步,删除空白栏

    有了合理数量的列,你可以简单地选择那些在第一行有 "空白 "的列(要选择多列,在点击列字母时按住Ctrl键)。 然后,右键单击任何选定的列,并选择 删除 从上下文菜单中选择。

    如果你的工作表中有几十或几百个列,把所有空的列都拿来查看是很有意义的。 为此,请做以下工作。

    1. 选择带有公式的最上面一行,转到 数据 标签> 排序和过滤 组,并点击 分类 按钮。
    2. 在出现的警告对话框中,选择 扩大选择范围 ,然后点击 排序...

    3. 这将打开 分类 对话框中,你点击 选项... 按钮,选择 从左到右排序。 并点击 认可 .

    4. 只配置一个排序级别,如下图所示,然后点击确定。
      • 排序方式: 第1行
      • 排序依据:单元格值
      • 顺序:从A到Z

      结果是,空白列将被移到工作表的左边部分。

    5. 选择所有空白列--点击第一列字母,按Shift键,然后点击最后一个空白列的字母。
    6. 右键单击选定的列,并选择 删除 从弹出的菜单中选择。

    完成了!你已经摆脱了空白列,而且现在没有任何东西可以阻止你删除带有公式的顶行。

    在Excel中删除空栏的最快方法

    在本教程的开头,我写道,在Excel中没有一键删除空白列的方法。 事实上,这并不完全正确。 我应该说没有内置的方法。 我们的终极套件的用户可以在Excel中删除空白,实际上只需点击几次:)

    在目标工作表中,切换到 Ablebits工具 标签,点击 删除空白 并选择 空栏 :

    为了确保这不是一次意外的鼠标点击,该插件会要求你确认你真的想从该工作表中删除空列。

    点击 认可 ,顷刻间,所有的空白栏都消失了!

    与上面讨论的宏一样,这个工具只删除那些被认为是 空空如也 有任何单一数值的列,包括标题,都会被保留下来。

    删除空白 要了解更多,欢迎下载我们的Excel终极套件的试用版。

    空白列不被删除!为什么?

    问题 :你已经尝试了上述所有的方法,但有一个或多个空列卡在你的工作表中。 为什么?

    很可能是因为这些列并不是真的空的。 许多人眼看不到的不同字符可能潜伏在你的Excel电子表格中而不被注意,尤其是当你从外部来源导入信息时。 这可能是一个单纯的空字符串或一个空格字符,非断裂空格或其他一些非打印字符。

    为了找出罪魁祸首,选择有问题的列中的第一个单元格,然后按Ctrl +向下箭头。 例如,下面截图中的C列不是空白,因为C6中有一个空格字符。

    双击该单元格,看看里面究竟有什么,或者干脆按删除键,把未知的东西去掉。 然后重复上述过程,看看该列中是否还有其他看不见的东西。 你可能还想通过删除前导、尾部和非断裂的空格来清理数据。

    我感谢你的阅读,希望下周在我们的博客上看到你!

    Michael Brown is a dedicated technology enthusiast with a passion for simplifying complex processes using software tools. With more than a decade of experience in the tech industry, he has honed his skills in Microsoft Excel and Outlook, as well as Google Sheets and Docs. Michael's blog is dedicated to sharing his knowledge and expertise with others, providing easy-to-follow tips and tutorials for improving productivity and efficiency. Whether you're a seasoned professional or a beginner, Michael's blog offers valuable insights and practical advice for getting the most out of these essential software tools.