我的 Excel 工作表似乎有 65555 行 - 尽管我们只使用前几百行。如果我从底部删除行,似乎不会发生任何变化。我怎样才能将其调整回我们使用的大小?
答案1
当这些单元格有格式但没有数据时,有时会发生这种情况
保存工作簿时,Excel 仅存储每个工作表中包含数据或格式的部分。空单元格可能包含格式,导致行或列中的最后一个单元格超出包含数据的单元格范围。这会导致工作簿的文件大小大于必要的大小,并且在打印工作表或工作簿时可能会导致打印页面更多。
最后一个单元格被设置在当前正在使用的工作表范围之外的最常见原因是格式过多。当您格式化整行和整列时,某些类型的格式可能会导致最后一个单元格被设置为实际正在使用的范围的下方或右侧很远的单元格。
如果按Ctrl+End会远远超出你的数据范围然后尝试重置最后的单元格。有两种方法可以做到这一点
手动清除格式
- 选择最后一列右侧的所有列(包含数据),或选择最后一行下方的所有行(包含数据)。快捷方法是按 并F5键入
F:IV
删除 F 至 IV 列,或5:65536
删除 5 至 65536 行 - 在开始选项卡的编辑组中,单击清除按钮旁边的箭头,然后单击清除全部。
- 保存工作表并关闭
- 选择最后一列右侧的所有列(包含数据),或选择最后一行下方的所有行(包含数据)。快捷方法是按 并F5键入
使用 VBA
- 按Alt+F11打开 VBA
选择插入>模块,然后粘贴以下代码片段
Sub ResetLastCell() ActiveSheet.UsedRange End Sub
按F5或单击“运行”
了解更多信息
答案2
就 Excel 而言,未使用的单元格不存在。它不会将它们存储在内存中,也不会将它们保存在电子表格文件中。因此,行数可以是无限的,而不会给 Excel 带来任何问题。我猜 65536 的限制只是一个足够大的数字,微软认为没有人会需要那么多。
这就是为什么您删除空行的尝试没有效果,因为这些行无论如何都不存在。
如果出于美观目的而想隐藏所有未使用的行,通常的策略是关闭网格线,这样未使用的单元格就看起来是空白的。然后,您可以手动格式化您正在使用的单元格周围的边框。
答案3
奇怪的是。以上方法都不适用于我的情况。我的工作表有 43498 行,在未过滤的视图中,最后一个单元格没有问题,下面没有“多余”的行,垂直滚动条的行为符合预期,即它会将我带到表格的最后一行,而不会再往下移动。但当我处于过滤视图中时(显示 973 行)然后垂直滚动条突然认为有 85559 行并且滚动条在所有实际用途上变得无法使用。
这看起来像是一个不同的问题,不是吗?
[编辑] 解决了,尽管这仍然是一个奇怪的现象。对我有用的是这个答案:https://superuser.com/a/1408570。简而言之:将所有评论的位置重置为它们的自然位置。
Sub ResetComments()
'Update 20141110
Dim pComment As Comment
For Each pComment In Application.ActiveSheet.Comments
pComment.Shape.Top = pComment.Parent.Top + 5
pComment.Shape.Left = pComment.Parent.Offset(0, 1).Left + 5
Next
End Sub
答案4
实际上你不能,但选择所有要删除的行,然后在视图选项卡中隐藏它们并保存文件。现在你将不再看到它们。