如何在 Excel 中单击单元格即可激活编辑?


当我们需要更改任何单元格中的任何内容时,编辑是一个典型的操作。因此,练习此特定活动的快捷键非常必要。有时我们必须更改单元格的内容。因为我们经常需要修改公式或调试公式,所以快捷键非常有用。通常,我们可能需要编辑公式。此外,对于新学习者来说,练习快捷键对于减少特定任务所需的时间至关重要。因此,如果我们只需单击单元格本身即可编辑单元格,那就非常方便了。

本文讨论如何通过使用 VBA 激活特定单元格,使 Excel 中的单元格只需单击一次即可编辑。

使用 VBA 代码单击激活单元格

步骤 1

打开您想要应用此代码的 Excel 表格。选择工作表,然后右键单击工作表选项卡,在上下文菜单中单击“查看代码”选项。请参见下图。

步骤 2

将以下 VBA 代码写入新窗口中打开的 **Microsoft Visual Basic for Applications** 的代码窗口。

#If Win64 Then
   Private Declare PtrSafe Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
   Private Declare PtrSafe Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
#Else
   Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
   Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
#End If
Const VK_NUMLOCK = 144
Const VK_CAPITAL = 20
Const VK_SCROLL = 145
Dim xOldNLState As Long
Dim xOldCLState As Long
Dim xOldSLState As Long
Const KEY_MASK As Integer = &HFF80 '

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If (GetKeyState(vbKeyShift) And KEY_MASK) <> 0 Then Exit
Sub
   xOldNLState = GetAsyncKeyState(VK_NUMLOCK)
   xOldCLState = GetAsyncKeyState(VK_CAPITAL)
   xOldSLState = GetAsyncKeyState(VK_SCROLL)
   SendKeys "{F2}"
   If GetAsyncKeyState(VK_NUMLOCK) <> xOldNLState Then
      Application.SendKeys "{NUMLOCK}"
   End If
   If GetAsyncKeyState(VK_CAPITAL) <> xOldCLState Then
      Application.SendKeys "{CAPSLOCK}"
   End If
   If GetAsyncKeyState(VK_SCROLL) <> xOldSLState Then
      Application.SendKeys "{SCROLLLOCK}"
   End If
End Sub

请参见下图。

步骤 3

要关闭显示 Microsoft Visual Basic for Applications 的窗口,同时按键盘上的 **Alt+Q** 键。之后,任何时候您在当前工作表中单击单元格,该单元格都会立即被激活。请参见下图。

结论

在以上教程中,您学习了关于使用 VBA 代码单击激活单元格。

更新于:2022年9月10日

654 次查看

启动你的职业生涯

完成课程获得认证

开始学习
广告