AW: Bedingte Formatierung mittels VBA realisieren
16.01.2017 12:01:24
Werner
Hallo,
hier mal zwei Möglichkeiten als Ansatz. Ausgewertet wird in beiden Fällen die Spalte A. Es wird nach dem ! Ausrufezeichen ausgewertet.
Code1: Bereits bei der (händischen) Eingabe wird entsprechend überprüft und gefärbt.
Code gehört ins Tabellenblatt auf dem er sich auswirken soll.
Rechtsklick auf den Tabellenblattreiter - Code anzeigen - Code rechts ins Codefenster kopieren.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then 'hier Spalte A, ggf. anpassen
If InStr(Target.Value, "!") > 0 Then
'If InStr(Target.Value, Chr(33)) > 0 Then 'ansprechen über ASCII Code
Target.Interior.Color = vbRed
End If
End If
End Sub
Code2: Gehört in ein allgemeines Modul. Schaltfläche auf das Tabellenblatt und der Schaltfläche das Makro zuweisen. Der Bereich wird dann bei Klick auf die Schaltfläche überprüft und entsprechend gefärbt.
Public Sub aaa()
Dim rngBereich As Range
Dim rngZelle As Range
Dim loLetzte As Long
'## Ermitteln der letzten belegten Zelle in Spalte A, ggf. anpassen
loLetzte = Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row
Set rngBereich = Sheets("Tabelle2").Range("A1:A" & loLetzte) 'Tabelle und Bereich anpassen
For Each rngZelle In rngBereich
If InStr(rngZelle, "!") > 0 Then
'If InStr(rngZelle, Chr(33)) > 0 Then 'ansprechen über ASCII Code
rngZelle.Interior.Color = vbRed
End If
Next rngZelle
End Sub
In beiden Codes ist eine auskommentierte Codezeile drin, die zeigt wie das entsprechende Zeichen über den jeweiligen ASCII Code angesprochen werden kann.
Gruß Werner