我有一个大于 7MB 的 Excel 文件。为了了解权重的来源,我使用了SU 问题中描述的方法。
我将大部分重量缩小到一张纸,并执行ctrl+End检查该纸中的最后一个单元格是什么。奇怪的是,该单元格位于工作表中的最后一行(即第 1048576 行)。
alt然后,我继续清除所有未使用的行的格式,然后 - 以防万一 - 使用+ Shift+↓和alt+ Shift+选择所有空白行(在我的数据下方)→,然后右键单击并删除。
然而,在保存文件、关闭它并再次打开它之后 - 按ctrl+End仍然会将我带到最后一个单元格。
我已经阅读了与手动执行此操作等效的 VBA,似乎这个SO Question指的是同一件事 - Worksheet.UsedRange属性。
在深入研究 VBA 之前,我可以手动执行一些操作来解决此问题吗?
PS 在将其标记为重复之前,请注意,我在寻找答案时故意用尽了其他选项。
编辑:
我感谢您为记录您的努力而付出的额外努力。\xc2\xa0谢谢。
\n\n我经常使用不适合你的方法来重置臃肿的书籍。\xc2\xa0 我只能识别出两个区别:
\n\n首先是我从未尝试过右键单击->删除。我是键盘手,所以我一直使用Alt+ E+ D。\xc2\xa0 这应该不重要,但奇怪的事情发生了。
\n\n第二个区别是我从来没有像你一样被卡住,它总是在保存后重置。\xc2\xa0那里有很大的帮助,对吗?
\n\n一些可能的解决方案如下:
\n\n今天我遇到了一个问题,我的 VBA 垂直合并工作表,而我的工作表水平莫名其妙地膨胀。\xc2\xa0我最初感到困惑和担心,因为我只有垂直膨胀并且没有想到要水平检查,直到我尝试重置失败了两次。为了完整起见,请幽默我,并防止这种情况发生在你身上:
\n\n是的,两条Ctrl++线是多余的,但我认为你可以Shift承受End15 次击键。
\n\n您“不应该”需要在保存工作簿后关闭它,但我不会建议您这样做。\xc2\xa0 试一试。\xc2\xa0如果这不起作用,那么 - 尝试 VBA真快。
\n\n不要害怕 VBA 的糟糕之处,它是一个很棒的工具,我们只需要几秒钟就可以做得很好。
\n\n?activesheet.usedrange.address
并按Enter。activesheet.usedrange
键入并按Enter。注意第一个命令使用了?
,而这个没有。\xc2\xa0 这是因为当我们希望 VBA 显示文本时使用问号,这样我们就可以看到一个值或状态。如果我们不使用问号,那么我们就是在告诉 VBA 执行一个操作。?
然后按下Enter。最后的任务是寻找隐藏的工作表。\xc2\xa0不只是隐藏,而是非常隐藏(我不是编造的)。
\n\nThisWorkbook
)。\xc2\xa0您将认出它们,因为它们将您的工作表名称放在括号中。xlhidden
或xlveryhidden
。xlvisible
。仅供参考: Excel 中的隐藏/取消隐藏上下文菜单中不会列出非常隐藏的工作表,因此它是保护配置和辅助列的更好方法之一。
\n\n这比我预期的要长得多,所以我会尽力结束它......
\n\n检查您的条件格式 - 就像命名范围一样,您正在寻找明显错误或复制的条件。
检查您的查询和数据模型。
确认您在难以找到的位置没有图片/图表/ listobjects
(我们与名称管理器进行的检查应该捕获大多数,但不是全部)。
验证您的自定义配置设置是否不正常(我注意到主页选项卡上一位同事的样式库填充了相同的 20% 口音,展开它后发现有数百个。使用 VBA 编辑器,我输入?activeworkbook.styles.count
并它返回了超过 19,000 个;作为比较,我的有 47)。
注意过度格式化 - 格式化为货币的数十万行数字与使用单元格边框格式化的数十万行不同,这些单元格边框的图案就像迷宫一样,具有不同的颜色和许多不同的自定义数字格式、符号和字体。
检查数据本身,几百行跨越 20 列,每个单元格都填充到极限将是一个令人尴尬但可能导致膨胀的原因
最后,核选项。\xc2\xa0将每个工作表单独保存为 CSV 文本文件并将其导入到新的工作簿中...这个东西保证可以工作,除非你有损坏的数据 - 但需要重建你的格式、连接和 bla bla bla 可能会很痛苦。