0
這是我的代碼。這是一個函數,當我點擊一個單獨的未鎖定的單元格時,它會將值增加1。我有一個問題讓它始終運行。有時會運行,有時我需要打開代碼並在最後一個END SUB之後按回車鍵。我想要的是一個刷新此代碼的按鈕,以便VBA可以工作。我在工作表中運行一個私人小組。我可以點擊什麼來啓用/禁用它嗎?即我可以編程一個按鈕嗎?
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Const MOUSEEVENTF_LEFTDOWN = &H2
Private Const MOUSEEVENTF_LEFTUP = &H4
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Key As Integer
If Target.Count > 1 Then Exit Sub
Key = GetKeyState(MOUSEEVENTF_LEFTDOWN)
If Key And 1 Then
If IsNumeric(Target.Value) Then
Target.Value = Target.Value + 1
Application.EnableEvents = False
Target.Resize(1, 2).Select
Application.EnableEvents = True
End If
Cancel = True
End If
End Sub
爲什麼使用鼠標事件?這是爲了確保它不會在箭頭鍵中移動嗎? – enderland
它確保我失敗的可能性較小,但我更改爲下面的腳本,這似乎工作得更好。謝謝你的智慧恩德蘭。 – Dwevon