删除MS Excel 2010中的空列

我有一个CSV文件,其中有很多空列。 我有Excel 2010女士,但是,我不知道如何使用macros或sortingfunction。

我已经做了一个谷歌search,并按照步骤。 他们没有帮助我。 有人能指导我通过一步一步的过程删除空列吗?

编辑:

对不起,我不知道这个网站是如何工作的。 我一整天都在search我的networkingsearch历史,以查明正确的链接,这很难。

但我有一些从我的历史的链接,有助于像我这样的人(但不是我:()

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

下面是一个macros,它会遍历所有列,从最后一列到第一列的所有列,并删除没有任何内容的列:

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 

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

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

假设你有这样的东西:

 1,,,,4,55,,92,,,,,,,,,62, 3,,,,7,43,,12,,,,,,,,,74, 7,,,,3,58,,52,,,,,,,,,64, 0,,,,6,10,,22,,,,,,,,,96, 3,,,,8,13,,92,,,,,,,,,22, 

对于您的CSV文件,您想在Excel 2010中执行以下操作:
1.保存你的文件的副本(以防万一你在这里出错)
2.按下Alt + F11
3.双击Sheet1(Book1) – 或者任何表单名称。 (这是在Microsoft Excel对象下。
4.将此代码复制并粘贴到名为Book1.csv – Sheet1(Code)的窗口中

 Sub showMessage() Dim cChar As String Dim Index As Integer For Index = 0 To 25 cChar = Chr(90-Index) if Application.WorksheetFunction.CountA(Columns(cChar)) = 0 Then Columns(cChar).EntireColumn.Delete End If Next Index End Sub 

5.点击顶部工具中的绿色箭头。 (或者,按F5)注意,您可能需要修改的值是“25”和“90”。 这些与从ASCII转换为字符有关。 如果你喜欢,你可以玩这个。

这样做是从Z到A列(是的,反过来),并删除任何没有数据的东西。

请享用。