Excel VB Script anwenden wenn Sheet aktiv wird

Guten Tag zusammen,

habe leider zu wenig Ahnung von VB und Excel um das Problem selber zu lösen.

Unten folgendes Script überwacht die Eingabe im SheetAB in bestimmte Zellen und ändert je nach Wert die Hintergrundfarbe. Es funktioniert auch gut!

Ich möchte nun das Script dementsprechend abändern, damit es dann einmal abläuft, wenn ein anderes SheetXY aktiviert wird und dann in diesem SheetXY dementsprechend die Formatierungen durchführt.

VB-Script:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim rngCell As Range

If Sh.Name = „SheetAB“ Then
For Each rngCell In Target.Cells
If rngCell.Column >= 11 And rngCell.Column = 13 And rngCell.Row

Unten folgendes Script überwacht die Eingabe im SheetAB in
bestimmte Zellen und ändert je nach Wert die Hintergrundfarbe.
Es funktioniert auch gut!
Ich möchte nun das Script dementsprechend abändern, damit es
dann einmal abläuft, wenn ein anderes SheetXY aktiviert wird
und dann in diesem SheetXY dementsprechend die Formatierungen
durchführt.

Hi Methadron,

Option Explicit
'
Private Sub Workbook\_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim rngCell As Range
If Sh.Name = "SheetAB" Or Sh.Name = "SheetXY" Then
 Set Target = Intersect(Target, Range("K13:CG390"))
 If Target Is Nothing Then Exit Sub
 For Each rngCell In Target
 Select Case UCase(Trim(rngCell.Text))
 Case "K"
 rngCell.Interior.ColorIndex = 3
 Case "G"
 rngCell.Interior.ColorIndex = 8
 Case "U"
 rngCell.Interior.ColorIndex = 4
 Case "S"
 rngCell.Interior.ColorIndex = 44
 Case "W"
 rngCell.Interior.ColorIndex = 26
 Case "B"
 rngCell.Interior.ColorIndex = 41
 Case "KA"
 rngCell.Interior.ColorIndex = 46
 Case ""
 rngCell.Interior.ColorIndex = 2
 End Select
 Next
End If
End Sub

Gruß
Reinhard