Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Wert durch Doppelklick in Zelle

Wert durch Doppelklick in Zelle
20.08.2018 14:33:02
mike49
Hallo Leute,
mit welchem Makro kann ich erreichen, dass durch Doppelklick in eine Zelle im Bereich C3:K33 ein "X" gesetzt wird und durch erneutes Doppelklicken wieder entfernt wird?
Gruß
mike49
Anzeige

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert durch Doppelklick in Zelle
20.08.2018 14:40:03
Torsten
hallo Mike,
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Value = "" Then
Target.Value = "X"
Else
Target.Value = ""
End If
Cancel = True
End Sub

AW: Wert durch Doppelklick in Zelle
20.08.2018 14:40:39
Hajo_Zi
Hallo Mike,
starte den VBA Editor (Alt+F11), Bild sollte zweigeteilt sein ansonsten Strg+R, Doppelklick auf Deine Datei, Doppelklick auf Deine Tabelle, Code ins rechte Fenster kopieren, VBA Editor schließen.
Das Makro wird automatisch gestartet.
Der Code wirkt nur in dieser Tabelle.
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim RaBereich As Range                          ' Variable f?r Bereich
Dim RaZelle As Range                            ' Variable f?r Zelle
Set RaBereich = Range("C3:K33")                 ' Bereich der Wirksamkeit
Set RaBereich = Intersect(RaBereich, Target)
If Not RaBereich Is Nothing Then
'ActiveSheet.Unprotect ("Passwort")
If Target = "" Then
Target = "X"
Else
Target.ClearContents
End If
Cancel = True
'ActiveSheet.protect ("Passwort")
End If
Set RaBereich = Nothing                         ' Variable leeren
End Sub


Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Anzeige
Das klappt prima . . .
20.08.2018 14:55:31
mike49
. . . Danke für die Hilfe.
Insbesondere dir Hajo für die tolle Beschreibung der Vorgehensweise.
Gruß
mike49
Rechts- und Linksklick schon vergeben
20.08.2018 14:59:35
mike49
Hallo nochmals,
habt ihr eine Idee, wie ich im genannten Bereich ein rotes "K" einfügen kann.
Einfügen durch Rechts- und Linksklick sind bereits vergeben.
Gruß
mike49
Anzeige
AW: Rechts- und Linksklick schon vergeben
20.08.2018 15:01:56
Hajo_Zi
Hallo Mike,
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim RaBereich As Range                          ' Variable f?r Bereich
Dim RaZelle As Range                            ' Variable f?r Zelle
Set RaBereich = Range("C3:K33")                 ' Bereich der Wirksamkeit
Set RaBereich = Intersect(RaBereich, Target)
If Not RaBereich Is Nothing Then
'ActiveSheet.Unprotect ("Passwort")
If Target = "" Then
Target = "X"
Target.Interior.Color = 255
Else
Target.ClearContents
End If
Cancel = True
'ActiveSheet.protect ("Passwort")
End If
Set RaBereich = Nothing                         ' Variable leeren
End Sub

Gruß Hajo
Anzeige
AW: Rechts- und Linksklick schon vergeben
20.08.2018 15:10:30
mike49
Hallo Hajo,
es sollte nicht die Zelle rot gefärbt werden, sondern nur das "X".
Gruß
mike49
AW: Rechts- und Linksklick schon vergeben
20.08.2018 15:16:02
Hajo_Zi
Hallo Mike,
Target.font.Interior.Color = 255
Gruß Hajo
fehler
20.08.2018 15:20:10
Hajo_Zi
Hallo Mike
Target.Font.Color = 255
Gruß Hajo
Anzeige
Prima . . .
20.08.2018 15:44:06
mike49
. . .
ich habe dieses Makro, das aber leider nur im Bereich C3:C33 funktioniert. Es soll aber für den Bereich C3:K33 funktionieren. Wie muss man abändern?
Option Explicit
Private Sub CommandButton1_Click()
With ActiveCell
If .Column = 3 And .Row > 4 And .Row  "K", "K", "")
.Font.Color = vbRed
End If
End With
End Sub

Danke
Anzeige
AW: Prima . . .
20.08.2018 15:48:36
Hajo_Zi
.Column >= 3 an .Column Gruß Hajo
Ja. So klappt's wie ich's wollte . . .
20.08.2018 15:53:14
mike49
. . . Danke vielmals Hajo für die schnelle Hilfe.
Gruß
mike49
oder so...
20.08.2018 15:55:36
Werner
Hallo Mike,
If Not Intersect(Range("C3:K33"), ActiveCell) Is Nothing Then
With ActiveCell
.Value = IIf(.Value  "K", "K", "")
.Font.Color = vbRed
End With
End If
Gruß Werner
Anzeige
AW: oder so...
20.08.2018 17:39:32
mike49
Danke auch dir Werner für die "elegante" Version.
Gruß
mike49
Gerne u. Danke für die Rückmeldung. o.w.T.
20.08.2018 17:47:34
Werner
AW: Rechts- und Linksklick schon vergeben
20.08.2018 15:16:39
mike49
. . . Target.Font.Color = 255 funktioniert.
Ich wollte aber ein neues Makro, mit dem ich im genannten Bereich ein "K" setzen kann, da ja Links- und Rechtsklick bereits vergeben sind!
Anzeige
AW: Wert durch Doppelklick in Zelle
20.08.2018 14:56:04
Werner
Hallo Mike,
Makro gehört ins Codemodul des Blattes, auf dem sich der Code auswirken soll.
Rechtsklick auf den Tabellenblattreiter - Code anzeigen - Code rechts ins Codefenster kopieren
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("C3:K33"), Target) Is Nothing Then
Cancel = True
Target.Value = IIf(Target.Value = "X", "", "X")
End If
End Sub
Gruß Werner
Anzeige
auch diese Kurzversion funktioniert prima . . .
20.08.2018 15:06:04
mike49
. . . danke dir Werner.
Gruß
mike49
Gerne u. Danke für die Rückmeldung. o.w.T.
22.08.2018 20:02:52
Werner
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Wert durch Doppelklick in Zelle setzen und entfernen


Schritt-für-Schritt-Anleitung

Um durch einen Doppelklick in eine Zelle im Bereich C3:K33 ein "X" zu setzen und durch erneutes Doppelklicken wieder zu entfernen, folge diesen Schritten:

  1. Öffne den VBA-Editor:

    • Drücke Alt + F11, um den VBA-Editor zu starten.
  2. Finde das richtige Arbeitsblatt:

    • Im Projektfenster auf der linken Seite, doppelklicke auf die Tabelle, in der du das Makro verwenden möchtest.
  3. Füge den VBA-Code ein:

    • Kopiere den folgenden Code und füge ihn in das rechte Fenster ein:
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
       Dim RaBereich As Range
       Set RaBereich = Range("C3:K33")
       Set RaBereich = Intersect(RaBereich, Target)
       If Not RaBereich Is Nothing Then
           If Target.Value = "" Then
               Target.Value = "X"
           Else
               Target.ClearContents
           End If
           Cancel = True
       End If
       Set RaBereich = Nothing
    End Sub
  4. Schließe den VBA-Editor:

    • Drücke Alt + Q, um den VBA-Editor zu schließen.
  5. Teste das Makro:

    • Doppelklicke in eine Zelle im Bereich C3:K33, um zu prüfen, ob ein "X" gesetzt wird oder entfernt werden kann.

Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht.

    • Lösung: Stelle sicher, dass der Code im richtigen Arbeitsblattmodul eingefügt wurde. Es muss das spezifische Blatt sein, auf dem du das Doppelklicken nutzen möchtest.
  • Fehler: Es wird kein "X" gesetzt.

    • Lösung: Überprüfe, ob die Zelle leer ist. Wenn sie bereits einen Wert hat, wird dieser entfernt.

Alternative Methoden

Falls du Excel in Zelle schreiben ohne Doppelklick nutzen möchtest, kannst du ein anderes Eingabeverfahren in Betracht ziehen:

  • Eingabe durch eine Schaltfläche: Du kannst eine Schaltfläche auf deinem Arbeitsblatt platzieren, die beim Klicken ein "X" in die aktive Zelle setzt.

  • Alternative Tastenkombinationen: Du kannst auch VBA verwenden, um bestimmte Tastenkombinationen für das Setzen von Werten zu programmieren.


Praktische Beispiele

  1. Setze ein "K" in Rot: Um ein rotes "K" in Zellen C3:K33 durch Doppelklick zu setzen, passe den Code an:

    If Not RaBereich Is Nothing Then
       If Target.Value = "" Then
           Target.Value = "K"
           Target.Font.Color = vbRed
       Else
           Target.ClearContents
       End If
    End If
  2. Zelle färben: Wenn du die Zelle färben möchtest, kannst du den folgenden Code verwenden:

    Target.Interior.Color = RGB(255, 0, 0) ' Färbt die Zelle rot

Tipps für Profis

  • Schutz des Arbeitsblatts: Wenn deine Zellen geschützt sind, achte darauf, den Schutz vor der Änderung aufzuheben und danach wieder zu aktivieren.

  • Verwendung von Variablen: Nutze Variablen, um den Code klarer und leichter wartbar zu gestalten.

  • Testen von Makros: Teste deine Makros immer in einer Kopie deiner Datei, um Datenverlust zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich die Funktion auf andere Zellen ausdehnen? Du kannst den Bereich C3:K33 im Code anpassen, um andere Zellen einzuschließen.

2. Funktioniert dieses Makro in allen Excel-Versionen? Ja, dieser Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen.

3. Kann ich mit dem Doppelklick auch andere Werte setzen? Ja, du kannst den Code anpassen, um verschiedene Werte oder Formate zu setzen.

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