Excel VBA Befehle aus Folge 30: Tabellenblatt Ereignisse (Change, BeforeDoubleClick, ...)

Inhalt dieser Folge:

  • Durch einen Doppelklick auf eine Zelle, färbt sich der Text in dieser Zelle rot
  • Wie kann ich das Kontextmenü deaktivieren?
  • Durch einen Rechtsklick auf eine Zelle, wird dessen Textinhalt in die Zwischenablage kopiert
  • Wie stelle ich ein, dass nur bestimmte Eingaben in meine Zellen erlaubt sin?

Ausgangssituation:

  • Wir starten mit dem rechts dargestellten Tabellenblatt. Dort befinden sich fiktive Werte, anhand derer wir die Beispiele durchgehen.

Beispiel 1: Bei Doppelklick auf eine Zelle, den Zellentext rot färben

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

 

'Textfarbe bei Doppelklick ändern

If Target.Font.Color = vbRed Then

'Von Rot auf Schwarz ändern

Target.Font.Color = vbBlack

Else

'Von Schwarz auf Rot ändern

Target.Font.Color = vbRed

End if

 

'Bearbeitungsmodus deaktivieren

Cancel = True

 

End Sub

Beispiel 2: Bei Rechtsklick auf eine Zelle, den Zelleninhalt kopieren

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

 

'Zelleninhalt in die Zwischenablage kopieren

MsgBox "Zelleninhalt in die Zwischenablage kopiert"

Target.Copy

'Kontextmenu deaktivieren

Cancel = True

 

End Sub

Beispiel 3: Nur bestimmte Eingaben in die Zellen erlauben