Zelle per Doppelklick mit X markieren

Mit der Makrolösung, die ich Ihnen hier vorstellen werde, können Sie sehr einfach Zellen markieren und ebenso die Markierung wieder aufheben. Auf diese Art können selbst mit Blattschutz versehene Tabellenblätter an ausgewählten Zellen gekennzeichnet werden. In der Praxis können Sie mit diesem Prinzip Checklisten erstellen, Druckbereiche definieren oder Schriftwechselvorlagen mit Auswahlfeldern erweitern.

Visual Basic Editor - Markieren per Doppelklick Makro Beispiel

Der folgende VBA-Code wird im Visual Basic-Editor in das Tabellenblatt kopiert, in dem Sie die Funktion nutzen wollen. Die Funktion steht anschließend ausschließlich in diesem Tabellenblatt zur Verfügung. Wollen Sie die Funktion in mehreren Tabellenblättern nutzen, muss das Makro in jedes Tabellenblatt kopiert werden.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    
    If Not Intersect(Target, Range("C3:C6")) Is Nothing Then
    
        Me.Unprotect
        
        If Target = "" Then
            Target = "X"
            Else
            Target = ""
        End If
        Me.Protect

        Cancel = True
    End If
End Sub

Im Beispiel oben können die Zellen C3, C4, C5 und C6 per Doppelklick markiert werden. Ein weiterer Doppelklick auf die bereits markierte Zelle hebt die Markierung wieder auf. Einen andern Zellbereich können Sie auswählen, wenn Sie Range(“C3:C6”) entsprechend abändern.

Am Ende wird automatisch der Blattschutz ohne Passwort aktiviert. Möchten Sie keinen Blattschutz auf das Tabellenblatt legen, können Sie die beiden dafür entsprechenden Zeilen aus dem Makro entfernen. Sollten Sie zukünftig jedoch doch noch den Blattschutz verwenden, denken Sie daran, auch das Makro entsprechend zu ergänzen.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    
    If Not Intersect(Target, Range("C3:C6")) Is Nothing Then
        
        If Target = "" Then
            Target = "X"
            Else
            Target = ""
        End If

        Cancel = True
    End If
End Sub

Alternativ kann zum Beispiel auch dynamisch das aktuelle Tagesdatum per Doppelklick in die Zelle überschrieben werden. Hinweis: Beim folgenden VBA-Codebeispiel werden bereits vorhandene Zellinhalte überschrieben!

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("C3:C6")) Is Nothing Then
        Target = Format(Now, "DD.MM.YYYY")
        Cancel = True
    End If
End Sub

Ein einfaches Beispiel können Sie mit der nachfolgenden Testdatei in Excel selbst testen und ggf. Anpassungen ausprobieren, den Code ändern oder erweitern.

Makrolösung: Zellen per Doppelklick markierenZellen per Doppelklick markieren

 
Gefällt Ihnen der Beitrag?

8 Gedanken zu „Zelle per Doppelklick mit X markieren“

  1. Hallo,
    Erstmals vielen Dank für das Veröffentlichen Ihres Wissens.
    Ich möchte gerne, dass sich bei dieser Zelle wo ich anklickte, einen Wert aus einer anderen Zelle eingetragen wird. Ist dies möglich? Besten Dank für Dein Feedback.
    Freundliche Grüsse Daniel

    Antworten
    • @Daniel Eberhard: Für diesen Fall würde ich die Tastenkombinationen Strg + C (kopieren) und Strg + V (einfügen) empfehlen. Schneller geht es nicht. Mit einem Makro können Sie hier nicht arbeiten. Würde man ein Makro programmieren, dass bei jedem Klick den Zellwert mit einem anderen Wert überschreibt, wäre die Arbeitsmappe praktisch nicht mehr nutzbar. Das macht daher überhaupt keinen Sinn.

      Antworten
  2. Hallo,
    Vielen Dank für die Rückmeldung. Würde es dann so gehen? Wenn ich zum Beispiel die Zelle “A4” mit Doppelklick anwähle und dabei füllt es mir die Zelle “B4, B5, B6,….” mit einem Wert aus der Zelle “C8”?
    Freundliche Grüsse
    Daniel Eberhard

    Antworten
  3. Hallo,
    ist es auch möglich, wenn ich mehrere Zellen zur Bewertung nebeneinander habe, dass immer nur ein Kreuz per Doppelklick gesetzt wird und automatisch das andere wieder gelöscht wird? Somit kann ich jederzeit meine Bewertung anpassen, ohne zuvor wieder das alte Kreuz selbst löschen zu müssen:

    Vielen Dank vorab
    Lucas Fritz

    Antworten
  4. OK,
    Klappte soweit, allerdings nur auf eine Reihe (R 31:R230) begrenzt.
    Bekomme es aber leider nicht hin, das auf weitere Reihen zu erweitern. W31:W230, Y31:Y230 usw…
    Ne kleine Hilfe wäre toll…

    Antworten

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.