
Ich versuche, eine MsgBox zu generieren, wenn ein Benutzer auf eine Zelle klickt. Die Zelle hat derzeit einen Namen. Ich habe den folgenden Code geschrieben, aber ich sehe keine Warnung.
Sub Send_Alert()
If ActiveCell.Name.Name = "Name01" Then
MsgBox "You have clicked"
End If
End Sub
Was mache ich falsch?
Antwort1
Ihr Sub wird nicht ausgewertet. Ihr Sub muss aufgerufen werden, damit der Code ausgeführt werden kann.
Sie müssen Ihren Sub oder Code aus einem Ereignis heraus aufrufen. Ereignisse werden durch Systemunterbrechungen (z. B. eine Mausbewegung) oder auf einer abstrakteren Ebene (z. B. wenn eine Schaltfläche geklickt oder eine Zelle geändert wird) aufgerufen.
Für Ihren Zweck müssen Sie wahrscheinlich das Ereignis SelectionChange verwenden. Denken Sie daran, dass dieses Ereignis auftritteine Mengeund kann Ihr System verlangsamen oder Excel sogar komplett blockieren. Das Ereignis wird auch aufgerufen, wenn Sie die Auswahl in einer anderen offenen Arbeitsmappe ändern. Stellen Sie doppelt sicher, dass Ihr Code nur ausgeführt wird, wenn Sie ihn brauchen. Wenn eine Verlangsamung unvermeidlich ist, versuchen Sie es mit Application.ScreenUpdating = False ; ... anderer Code ... ; Application.ScreenUpdating = True, um Bildschirmaktualisierungen zu verschieben, bis Ihr gesamter Code ausgeführt wurde (wahrscheinlich nicht erforderlich, wenn Sie nur eine Msgbox aufrufen).