para no estar usando
Timers, usa un Hook al mouse
WH_MOUSE_LL..algo asi..
En un Modulo:Option Explicit
Public Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Public Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Private Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal nCode As Long, ByVal wParam As Long, lParam As Any) As Long
Public Const WH_MOUSE_LL = 14
Private Const HC_ACTION = 0
Private Const WM_LBUTTONDOWN As Long = &H201
Public IdProc As Long
Public Function MouseProc(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If (nCode = HC_ACTION) Then
Select Case wParam
Case WM_LBUTTONDOWN
Debug.Print "Click Izquierdo"
Case Else
End Select
End If
MouseProc = CallNextHookEx(0, nCode, wParam, ByVal lParam)
End Function
En el Formulario:Option Explicit
Private Sub Form_Load()
IdProc = SetWindowsHookEx(WH_MOUSE_LL, AddressOf MouseProc, App.hInstance, 0)
End Sub
Private Sub Form_Unload(Cancel As Integer)
If IdProc <> 0 Then
UnhookWindowsHookEx IdProc
IdProc = 0
End If
End Sub
saludos.