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
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
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
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
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
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ß WernerPrivate 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ß WernerUm durch einen Doppelklick in eine Zelle im Bereich C3:K33 ein "X" zu setzen und durch erneutes Doppelklicken wieder zu entfernen, folge diesen Schritten:
Öffne den VBA-Editor:
Alt + F11, um den VBA-Editor zu starten.Finde das richtige Arbeitsblatt:
Füge den VBA-Code 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
Schließe den VBA-Editor:
Alt + Q, um den VBA-Editor zu schließen.Teste das Makro:
Fehler: Das Makro funktioniert nicht.
Fehler: Es wird kein "X" gesetzt.
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.
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
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
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.
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.