您可以在不双击 Excel 单元格的情况下编辑它的内容吗?

Dav*_*ard 29 text-editing microsoft-excel

我有一个大约 10,000 个姓名/地址的列表,我必须在 Excel 中手动清理(有趣!)。可以想象,必须双击才能进入几乎每个单元格进行编辑是一种拖累。令人沮丧的是,如果您稍微靠近单元格的顶部/底部,您最终会位于工作表的顶部/底部!

有没有办法让 Excel 保持“编辑模式”,这样当我点击一个单元格(或者更好的是,向下滚动到它)时,它会自动允许我编辑内容?我不能只是开始打字,因为这会覆盖整个单元格,而我经常只需要编辑 1 或 2 个字符。谢谢。

Mos*_*ses 20

您可以通过F2按键从键盘进入编辑模式,或者您可以创建一个带有弹出窗口/提示的 VB 宏。虽然严格来说,我知道没有选项可以保持F2模式,但您可以将一个小脚本写入 Excel,该脚本向下一行并步入单元格(然后让此宏将您的“返回/标签”替换为新列) .

编辑:另一种选择是通过不同的程序管理这些编辑,并为此类数据提供更易于访问的用户界面。例如,将所有这些数据推送到 Access 等数据库程序中,然后通过它们的 UI 管理数据字段。

然而,这一切都避免了主要问题,这就是为什么有 10,000 行数据需要手动清理?如果编写一个脚本来统治它们太麻烦,为什么不将表格分解成有意义的组并以这种方式处理它们呢?很难想象10,000个数据字段必须手动处理并且没有解决方法。

  • +1 `...为什么有 10,000 行数据需要手动清理?` (3认同)

end*_*and 20

您可以使用以下宏执行此操作。它会导致您的 Excel 表现得就像您F2每次更改电子表格上的选择时都点击一样。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    SendKeys "{F2}"
End Sub
Run Code Online (Sandbox Code Playgroud)

点击Alt+ 调F11出 VBA 编辑器,展开左侧的树视图直到看到所需的工作表,双击该工作表,然后将上面的代码粘贴到那里。

您可以简单地通过'在代码行前面添加以使其成为如下注释来禁用它:

'SendKeys "{F2}"
Run Code Online (Sandbox Code Playgroud)

或者,我想,完全删除它。


如果您使用enter移动单元格(我怀疑这是您的主要意图),这也非常有效,因为它会立即开始编辑它们并让您移动得更快。

  • 请注意,以这种方式使用 VBA 有其缺点。最值得注意的是,它将消除工作表上的任何撤消功能。所以,如果你搞砸并意外删除了一些数据,你最好有一个备份。此外,箭头键不再用于导航工作表。 (3认同)
  • @Excelll 有一个很好的观点;您的撤消功能丢失。对于这么简单的宏,似乎不值得。考虑改用 AutoHotKey - 您可以告诉它在 Enter、Shift-Enter、Tab 或 Shift-Tab 后按 F2。(而且您可以确保它也只能在 Excel 中使用。) (3认同)

Kev*_*777 7

我知道的唯一方法是按F2。这每次都有效,直到您按Return/Enter移出当前单元格。