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