如何在 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 次檢視

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.