5

Ctrl-end 键应该把我带到底部,最右边的单元格。但是,在某些情况下,它会超出此范围,这意味着它会下降数百个单元格,即使这些单元格上实际上没有数据。

你能建议一个 VBA 脚本如何清理导致这种情况的那些可能不可见的数据吗?我很确定它不适用于常规删除,因为尽管这样做了,但它的行为仍然相同。

4

2 回答 2

13

Ctrl-End 确实将您带到右下角​​的单元格,它只是使用与您在决定该单元格应该是什么时所期望的规则不同的规则。几乎所有以任何方式引用的单元格都将包含在决策中。这很烦人,但这就是 Excel “工作”的方式。

以下是如何解决问题的说明

转述:

  1. 选择工作表中包含数据的最后一个单元格
  2. 要删除任何未使用的行:

    • 从包含数据的最后一个单元格向下移动一行。
    • 按住 Ctrl 和 Shift 键,然后按向下箭头键
    • 右键单击选定的单元格,然后从快捷菜单中选择删除
    • 选择整行,单击确定。
  3. 删除整行

  4. 要删除任何未使用的列:

    • 从最后一个包含数据的单元格向右移动一列。
    • 按住 Ctrl 和 Shift 键,然后按右箭头键
    • 右键单击选定的单元格,然后从快捷菜单中选择删除
    • 选择整列,单击确定。
  5. 保存文件。注意:在旧版本的 Excel 中,您可能必须先保存,然后关闭并重新打开文件,然后才能重置使用的范围。

于 2013-05-08T09:14:00.760 回答
5

此脚本将在运行时为任何处于活动状态的工作表重置最后使用的行。

Sub Reset()

    Dim lngCount As Long

    lngCount = ActiveSheet.UsedRange.Rows.Count

End Sub
于 2013-05-08T09:20:41.630 回答