SImplemacros删除所有未使用的列和行

我已经将电子表格链接到数据库,并创build了一个清除工作表内容的macros,并在SQL的结果中发送到数据库。

它返回约30列数据约6000行数据,但文件大小膨胀到22mb! 我在这里读到关于删除/隐藏空列和单元格,这减less了2.5MB的文件。

有没有一个快速的macros,这将节省我不得不手动这样做,每一天呢? 我在Google上看到了很多变体,我无法正常工作。

列的数量每天保持不变,但行数波动。

Sub hide_Empty_Columns() Dim lastCol&, i& Dim dataCol$ lastCol = Cells(1, Columns.Count).End(xlToLeft).Column For i = lastCol To 1 Step -1 With Columns(i) If WorksheetFunction.CountA(Columns(i)) = 0 Then Columns(i).Hidden = True End If End With Next i End Sub 

非常简单 你可以根据需要调整。 它隐藏了任何完全空的列。 如果您想要删除列,请将Columns(i).Hidden行更改为Columns(i).EntireColumn.Delete

嗨,我也曾经有过这个问题。 大多数删除未使用的列和行的macros没有多大帮助。 (有些但不多)。

我发现大部分的问题是2件事。 1)Excel保存一堆XML历史。 2.杂乱的VBA。

试试这两件事。 1)将您的文件保存为xlsb文件。 这将改变一切,以二进制和节省浪费的XML空间。 2)使用代码清理工具在这里findhttp://www.appspro.com/Utilities/CodeCleaner.htm这是惊人的多less空间,可以为您节省的东西。

顺便说一句,如果您将文件保存为myfile.zip,则可以将其打开并查看问题的大部分内容。 小心编辑,因为你可能会腐败的东西。

希望这可以帮助。