Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro bei Klick auf schon aktive Zelle

Forumthread: Makro bei Klick auf schon aktive Zelle

Makro bei Klick auf schon aktive Zelle
13.02.2014 08:18:55
Roman
Hallo liebe Forumsmitglieder,
ich suche eine VBA-Funktion, die einen Mausklick auf eine Zelle erkennt,
die schon aktiv, d. h. im Excelsheet schon ausgewählt ist.
meine Verwendung:
Wenn ich eine neue Zelle anklicke, erkenne ich dieses über die Funktion
Worksheet_SelectionChange(ByVal Target As Range).
Damit öffne ich eine Userform (Meldefenster mit Informationen).
Jetzt möchte ich, wenn ich das Meldefenster wieder geschlossen habe,
durch Klick auf die selbe - schon angewählte - Zelle dieses nochmal aufschalten.
Danke für Eure Hilfe!!!
Gruß
Roman P.

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro bei Klick auf schon aktive Zelle
13.02.2014 08:43:56
EtoPHG
Hallo Roman,
VBA gut? Du gehst, wie übrigens viele, davon aus, dass das SelectionChange Ereignis bei einem Klick auf/in eine Zelle ausgelöst wird. Das ist nur die halbe Wahrheit. Der Name sagt schon, dass die Auslösung das Wechseln der Auswahl ist. Die kann über die Tastatur und nicht nur über die Maus erfolgen. Ein Klick in eine bereits selektierte Zelle, löst also nichts aus, da kein Auswahl-Wechsel vorliegt. Es gibt kein (Default)Click-Ereignis für Zellen. Was du machen kannst ist entweder das _BeforeRightClick (Rechtsklick) oder das _BeforeDoubleClick (Doppelklick) Ereignis einzusetzen.
Gruess Hansueli
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Makro bei Klick auf eine schon aktive Zelle in Excel


Schritt-für-Schritt-Anleitung

Um ein Makro zu erstellen, das bei einem Klick auf eine bereits aktive Zelle reagiert, kannst du die folgenden Schritte befolgen:

  1. Öffne das Excel-Dokument.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Doppelklicke auf das Blatt, in dem du das Makro verwenden möchtest (z.B. Tabelle1).

  4. Füge den folgenden Code in das Codefenster ein:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
        If Not Intersect(Target, Me.Range("A1:A10")) Is Nothing Then
            ' Hier kannst du den Code für dein Meldefenster einfügen
            MsgBox "Du hast auf die Zelle " & Target.Address & " geklickt."
            Cancel = True ' Verhindert das Bearbeiten der Zelle
        End If
    End Sub
  5. Schließe den VBA-Editor und kehre zu deinem Excel-Dokument zurück.

  6. Teste das Makro, indem du auf eine Zelle in dem definierten Bereich (z.B. A1:A10) doppelklickst.


Häufige Fehler und Lösungen

  • Fehler: Das Makro wird nicht ausgeführt.

    • Lösung: Stelle sicher, dass du den richtigen Blattschutz deaktiviert hast und die Makros in deiner Excel-Anwendung aktiviert sind.
  • Fehler: Doppelklick funktioniert nicht.

    • Lösung: Überprüfe, ob das Ereignis korrekt in das richtige Arbeitsblatt eingefügt wurde. Es sollte im entsprechenden Blattmodul sein.

Alternative Methoden

Wenn du eine andere Methode bevorzugst, kannst du auch den Rechtsklick verwenden. Hier ist ein Beispiel, wie du das umsetzen kannst:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Me.Range("A1:A10")) Is Nothing Then
        MsgBox "Rechtsklick auf Zelle " & Target.Address
        Cancel = True ' Verhindert das Kontextmenü
    End If
End Sub

Praktische Beispiele

Nehmen wir an, du möchtest ein Meldungsfenster anzeigen, wenn du auf eine Zelle klickst, die eine Lottozahl aus lotto 6aus45 enthält. Hierzu kannst du die Zellinhalte überprüfen:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Me.Range("B1:B10")) Is Nothing Then
        If IsNumeric(Target.Value) And Target.Value >= 1 And Target.Value <= 49 Then
            MsgBox "Du hast die Lottozahl " & Target.Value & " ausgewählt."
            Cancel = True
        End If
    End If
End Sub

Tipps für Profis

  • Verwende die Intersect-Funktion, um gezielt auf bestimmte Bereiche zu reagieren.
  • Erstelle benutzerdefinierte UserForms, um komplexere Informationen anzuzeigen.
  • Nutze die Möglichkeit, mehrere Ereignisse zu kombinieren, um eine noch bessere Benutzererfahrung zu erzielen.

FAQ: Häufige Fragen

1. Kann ich das Makro für mehrere Zellen gleichzeitig aktivieren? Ja, du kannst die Intersect-Funktion anpassen, um mehrere Zellen oder Bereiche zu überprüfen.

2. Funktioniert das auch in Excel Online? Leider ist VBA nur in der Desktop-Version von Excel verfügbar. In Excel Online sind diese Funktionen nicht umsetzbar.

3. Was passiert, wenn der Fokus auf einer anderen Anwendung liegt? Das Makro wird nicht ausgeführt, da es nur innerhalb von Excel funktioniert. Achte darauf, dass das Excel-Fenster aktiv ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige