MsgBox mit einem Doppeclick auf eine Zelle erscheinen lassen

  • Excel

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Krest.

    MsgBox mit einem Doppeclick auf eine Zelle erscheinen lassen

    Moin liebe gemeinde, Ich bin gerade am anfang eines VBA-Fernstudiums und hätte eine Frage bezüglich einer Aufgabe die ich bekommen habe.

    7. Aufgabe:
    Sorgen Sie dafür, dass beim Doppelklick in eine Zelle von Tabellenblatt1 Ihrer Excel-Datei eine Meldung mit dem folgenden Inhalt ausgegeben wird:
    „Sie haben doppelt in Zelle: [Adresse der Zelle] geklickt.“
    Dabei muss natürlich der Text in den eckigen Klammern durch die Adresse der Zelle ersetzt werden, in die jeweils doppelt geklickt wird, also z.B. $A$1.

    Ich weiß soweit wie ich die MsgBox durch nur einen click hervorrufe, aber beim Doppelclick bin ich überfordert.

    Soweit habe ich die Deklaration "BeforeDoubleClick" entdeckt, jedoch weiß ich nun nicht genau wie ich weiter handeln soll.


    Quellcode

    1. 'Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    2. 'If Target.Address Then MsgBox "Sie haben doppelt in Zelle: " & Target.Address & " geklickt"
    3. 'Cancel = True
    4. 'End Sub
    5. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    6. MsgBox "Sie haben doppelt in Zelle: " & Target.Address & " geklickt"
    7. End Sub


    Der untere Quellcode ist die MsgBox mit einem click welcher auch funktioniert, der obere ist einer meiner versuche die Deklaration zu benutzen.

    Edit: Ich habe natürlich das Modul Tabelle1 ausgewählt

    Mfg.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Krest“ ()

    Willkommen im Forum.
    Der auskommentierte Code sieht doch gut aus. Nur die Bedingung kapier ich nicht. Wozu hast Du sie überhaupt drin und was soll es Deiner Meinung nach bewirken?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Als ich nach antworten im Internet suchte sah ich, häufig den code mit den if then bedingungen, sowie auch das einzelne zellen angegeben waren, da ich die MsgBox aber bei egal welcher zelle anzeigen lassen wollte habe ich dran gedacht target.address zu verwenden damit die geclickte Zelle festgestellt wird, leider habe ich target.address wohl missverstanden bzw. denke ich das ich vielleicht noch einen zwischenschritt bräuchte nur bin ich mir unsicher wie dieser aussehen könnte. Als ich den code ohne bedingung geschrieben habe also :MsgBox "Sie haben doppelt in Zelle: " & Target.Address & " geklickt". Passierte garnichts.

    Hättest du einen Tipp womit ich nachvollziehen könnte wie die BeforeDoubleClick Deklaration funktioniert? Die offizielle Microsoft beschreibung, sowie deren beispiel hilft mir leider nicht weiter.

    Visual Basic-Quellcode

    1. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    2. MsgBox "Sie haben doppelt in Zelle: " & Target.Address & " geklickt"
    3. End Sub

    Das funktioniert bei mir absolut einwandfrei.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Ich habe es gerade selbst noch einmal ohne bedingungen versucht und nun hat es geklappt, vielleicht war ich vorhin im debug modus oder habe mich vertippt, auf jedenfall klappt es nun und war wohl ein flüchtigkeitsfehler von meiner seite aus. Trotzdessen vielen danke für die Hilfe