全部清除后的Excel额外列

所以我有一本非常慢的工作手册。 我注意到,其中一张表有XFD额外的列(一直到XFD ),但是当我select多余的列并删除它们或清除所有内容并保存后,它们不会消失。 有没有其他方式摆脱额外的列? 同时打开VBA和GUI选项。

作为参考,我有一个macros在单元格中复制到其他单元格中的一堆其他单元格。 在另外一张工作簿上放置4倍的纸张需要7秒钟的时间, 在这个工作簿上,每张纸需要10-15分钟。

编辑:某些行上的一些单元格在删除列后变为黄色,但是工作簿中的macros没有引用表单; 如果我禁用macros,单元格仍然填充黄色。

编辑2:进一步的testing表明,从表中的行填充黄色。 如果我只删除n列,那么n列将被添加到表格的最后,一些行中的单元格填充为黄色。

编辑3:清除工作表上的所有内容(而不是只是在被删除的列)似乎已经工作,但我不知道为什么。 请注意,表格中有一张表格,当excel询问我是否想要删除表格时,我noselect,所以我刷新了,并保留了我的内容。 我也不明白黄色细胞是从哪里来的,如果我删除细胞并填满它们,而不是删除这些列,它们就不会出现。

您需要使用xlCellTypeLastCell属性刷新Worksheet.UsedRange属性和/或Range.SpecialCells方法 。

 with worksheets("sheet1") debug.print .cells.specialcells(xlCellTypeLastCell).address(0,0) '<~~ XFD99 range("AA:XFD").clear debug.print .cells.specialcells(xlCellTypeLastCell).address(0,0) 'no change, still XFD99 .usedrange debug.print .cells.specialcells(xlCellTypeLastCell).address(0,0) 'now Z99 end with 

保存工作簿也将刷新xlCellTypeLastCell属性。