Excel最后的单元格错误

Excel中有一个非常令人沮丧的问题 – 不能删除最后一个单元格; 它被locking在最后使用的列和行1048576.在你跳到常见的修复之前,我已经尝试了所有可以在互联网上find的修复,包括:

  • 删除所有未使用的行,删除所有未使用的列
  • 保存,closures,重新打开
  • 清除所有未使用的行和列中的格式
  • 各种macros的引用worksheet.UsedRange,UsedRange.Rows.Count,UsedRange(1)等等。
  • 上面的排列顺序不同,总是跟着保存/重新打开

在Excel 2007和Excel 2013中都会发生这种情况。即使在工作表上删除了所有内容(即全选,右键单击,删除),保存/打开,最后一个单元格STILL仍保持引用最后一行。

我可以将工作表的活动区域复制并粘贴到一个新的工作表中,但是我之前已经发生过这种情况,我希望find一个完整的解决scheme以供将来参考(或者知道这确实是一个错误,我不只是在这里疯狂!)

我也遇到了几次这样的情况 – 工作表几乎是空的,但是由于一些奇怪的原因,Excel存储了所有1M行 – 而且没有一个正常的技巧。

我在这种情况下做的是直接编辑.xlsx文件:

  1. 将.xlsx(或.xlsm)文件重命名为.zip,您将看到内容
  2. 提取文件xl \ worksheets \ sheet1.xml(或者其中任何一个表格非常大 – 请注意编号可能需要与Excel中的编号alignment)
  3. 用强大的编辑器编辑文件。 我可以推荐UltraEdit,尤其是。 因为它具有“XML转换为CR / LF”function(格式下),该function将XML格式化为可读格式。 (如果是1M行,则此格式化可能需要几分钟!)
  4. 在文件中search<row r="X" ,其中X是您想要保留的最后一行。 从这里删除一切,直到</sheetData> (通常在最后一行)
  5. 保存该文件,将其放回到.zip中,并将.zip重命名为.xlsx / .xlsx

完成!