Hallo Andrea,
die entsprächende Färbung im Blatt Kritische Fälle kannst du auch mit einer bedingten Formatierung erreichen, zumindest in Excel 2010.
bedingte Formatierung für Bereich D6:L30
mit Formel als Bedingung:
=ZÄHLENWENN(Bearbeitet!$A:blush:A;D6)\>0
Den Eingabebeich (hier Spalten $A:blush:A) für die AWB-Nummern entsprechend anpassen
Eine Makrolösung könnte wie folgt aussehen. Sobald im Eingabebereich eine Änderung erfolgt wird die Färbung für die kritischen AWB geprüft und aktualisiert.
Gruß
Franz
'Makros im VBA-Editor unter Modul von Tabellenblatt "Bearbeitet"
Private Sub Worksheet\_Change(ByVal Target As Range)
Dim rngCheck As Range
'Eingabebereich im Blatt "Bearbeitet" für die AWB-Werte
'hier in Spalte A ab Zeile 2 abwärts
With Me
Set rngCheck = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp)) 'Berechnung des \_
Bereichs ggf. anpassen oder fest vorgeben
End With
'prüfen, ob geänderte Zelle(n) im Eingabebereich
If Not Application.Intersect(Target, rngCheck) Is Nothing Then
Call FaerbeKritischeAWB(Bereich:=rngCheck)
End If
End Sub
Sub FaerbeKritischeAWB(Bereich As Range)
Dim wksCheck As Worksheet, rngZelle As Range, rngAWB As Range
Dim StatusCalc As Long
'Makrobremsen lösen
With Application
.EnableEvents = False
StatusCalc = .Application.Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With
Set wksCheck = Worksheets("Kritische Fälle")
With wksCheck.Range("D6:L30")
.Interior.ColorIndex = xlColorIndexNone
For Each rngZelle In Bereich.Cells
If rngZelle "" Then
Set rngAWB = .Find(What:=rngZelle.Value, LookIn:=xlValues, lookat:=xlWhole)
If Not rngAWB Is Nothing Then
rngAWB.Interior.Color = RGB(0, 255, 255) 'hellblau
End If
End If
Next rngZelle
End With
'Makrobremsen zurücksetzen
With Application
.EnableEvents = True
.Calculation = StatusCalc
.ScreenUpdating = True
End With
Set wksCheck = Nothing: Set rngAWB = Nothing: Set rngZelle = Nothing
End Sub