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

Rechte Maustaste Buchstabe Färben

Forumthread: Rechte Maustaste Buchstabe Färben

Rechte Maustaste Buchstabe Färben
27.08.2024 09:46:53
Volker
Hallo
Ich habe hier diesen Code für die Rechte Maustaste die in bestimmten Zellen Farben setzt. Was muss ich ändern das anstatt Farben Buchstaben gesetzt werden?
Mfg Volker


Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
ActiveSheet.Unprotect Password:="*****"
If Not Intersect([D4:AH4,D7:AF7,D10:AH10,D13:AG13,D16:AH16,D19:AG19,D22:AH22,D25:AH25,D28:AG28,D31:AH31,D34:AG34,D37:AH37], Target) Is Nothing Then
If Target.Interior.ColorIndex = 3 Then
Target.Interior.ColorIndex = x1None
Else
Target.Interior.ColorIndex = 3
End If
Cancel = True
ActiveSheet.Protect Password:="*****"
End If
End Sub
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Rechte Maustaste Buchstabe Färben
27.08.2024 09:51:02
daniel
Hi
was genau meinst du mit "Buchstaben setzen", da du in der Betreffzeile "Buchstaben färben" geschrieben hast?

wenn du statt der Farbe ein "x" in die Zelle schreiben willst (quasi als Checkbox), dann:

If Target.value = "x" Then
Target.Value = ""
Else
Target.Value = "x"
End If

der Code davor und danach bleibt wie er ist.

Gruß Daniel
Anzeige
AW: Rechte Maustaste Buchstabe Färben
27.08.2024 10:04:32
Volker
Hallo Daniel
danke für deine schnelle Antwort. Ich hatte mich leider im Betreff vertippt. Dafür sorry.
So sollte es sein das ein Buchstabe gesetzt wird. Aber in dem Code mit den Farben kann ich mehrere Zellen Markiere in denen ich die Farbe setzte. Wenn ich den Code so ersetzte mit den Buchstaben kann ich nur in eine Zelle den Buchstaben setzen. Wenn ich mehrere Markiere bekomm ich eine Fehlermeldung.

Mfg Volker
Anzeige
AW: Rechte Maustaste Buchstabe Färben
27.08.2024 10:20:15
daniel
Hi
ja, das Problem ist, dass Target.Value ein Array ergibt, wenn du mehrere Zellen markierst und ein Array kann man nicht mit einem Einzelwert vergleichen.

da gibts zwei möglichkeiten:

a) alle Zellen, die du markierst sollen gemeinsam umgeschaltet werden und du markierst immer auch nur Zellen, die den gleichen Wert haben.
sollten die markierten Zellen unterschiedlich befüllt sein, so ist die erste angeklickte Zelle führen, dh sie bestimmt, ob die Zellen geleert oder gefüllt werden:


If Target(1).Value = "x" Then
Target.Value = ""
Else
Target.Value = "x"
End If


b) jede Zelle soll individuell behandelt werden, also so, wie wenn du sie einzeln angeklickt hättest.
(denn Zellbereich für das Intersect bitte an deinen Zellbereich anpassen)
Dim Zelle As Range

For Each Zelle In Intersect(Target, Range("A1:Z100")).Cells
If Zelle.Value = "x" Then
Zelle.Value = ""
Else
Zelle.Value = "x"
End If
Next


Gruß Daniel
Anzeige
AW: Rechte Maustaste Buchstabe Färben
27.08.2024 10:21:59
Alwin Weisangler
vielleicht so?


Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect([D4:AH4,D7:AF7,D10:AH10,D13:AG13,D16:AH16,D19:AG19,D22:AH22,D25:AH25,D28:AG28,D31:AH31,D34:AG34,D37:AH37], Target) Is Nothing Then
If Target.Interior.ColorIndex = 3 Then
Target.Cells = ""
Else
Target.Cells = "X"
End If
Cancel = True
End If
End Sub


Gruß Uwe
Anzeige
AW: Rechte Maustaste Buchstabe Färben
27.08.2024 10:27:44
Volker
Vielen vielen dank für deine Hilfe.
Der erste Code klappt wunderbar. Genau so wie es sein sollte.
Mfg Volker

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige