excel - 删除 Ms Excel 2010 中的空列

标签 excel csv multiple-columns

很难说出这里问的是什么。这个问题是模棱两可的、模糊的、不完整的、过于宽泛的或修辞的,无法以目前的形式得到合理的回答。如需帮助澄清这个问题以便重新打开它,visit the help center .




9年前关闭。




我有一个 CSV 文件,其中有很多空列。我有 Excel 2010 女士,但我不知道如何使用宏或排序功能。

我已经进行了谷歌搜索并按照步骤操作。他们没有帮助我。有人可以指导我逐步删除空列吗?

已编辑:

抱歉,我不知道这个网站是如何运作的。我很难通过我的网络搜索历史找到正确的链接,因为我整天都在搜索。

但是我的历史中有一些链接对像我这样的类似人很有帮助(但不是我:()

http://www.addictivetips.com/windows-tips/how-to-delete-remove-blank-rows-columns-in-excel-2010-spreadsheet/
http://www.mrexcel.com/archive/VBA/11225.html

最佳答案

这是一个宏,它将遍历所有列,从包含任何数据的最后一个列到第一个列,并删除其中没有任何内容的所有列:

Sub DeleteEmptyColumns()

    Dim lastColumn As Integer
    Dim lastRow As Integer
    Dim i As Integer
    Dim r As Range

    Set r = ActiveSheet.Cells.Find("*", SearchOrder:=xlByColumns, LookIn:=xlValues, SearchDirection:=xlPrevious)

    If Not r Is Nothing Then

        lastColumn = r.Column

        For i = lastColumn To 1 Step -1

            Set r = ActiveSheet.Columns(i).Find("*", SearchOrder:=xlByRows, LookIn:=xlValues, SearchDirection:=xlPrevious)

            If r Is Nothing Then
                ActiveSheet.Columns(i).Delete
            Else
                If r.Row = 1 Then
                    ActiveSheet.Columns(i).Delete
                End If
            End If

        Next i

    End If

End Sub

另外:如果工作表中没有任何内容,它不会崩溃,并且您不必将自己限制在一定数量的列中,它会自动检查所有列。

编辑:修改为跳过第一行并忽略任何标题。

关于excel - 删除 Ms Excel 2010 中的空列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13887188/

相关文章:

php - 尝试在 Yii2 中加载双列表框时出错

vb.net - 如何找到excel.exe路径和notepad.exe路径

python - 从保存的 html 文件解析的 url 链接列表中解析标签的 url 链接。并将其全部保存在 csv 输出中

java - 如何在树表中添加复选框

html - HTML 表格中的卡住列透明覆盖表格的其余部分

excel - VBA 在 ListFillRange ActiveX ComboBox 中存储字符串而不是范围

excel - 使用 VLOOKUP 查找具有多个重复项的最大值 "IDs"

python - 在 Python 中以不同的顺序写出 CSV 列

Python:比较两个 csv 文件中的特定列

vba - 导入文本文件 - Vb/Access