Füllfarben vergleichen
Hallo,
ich möchte die Füllfarben zweier Spalten einer Tabelle (E und R) miteinander vergleichen und in einer dritten Spalte (B) das Ergebnis als Füllfarbe ausdrücken.
Die Formatierung soll folgende Form besitzen (nach Index)
B E R
3 = 3 und 3
3 = 3 und 44
3 = 3 und 50
3 = 3 und 33
3 = 50 und 3
50 = 50 und 45
50 = 50 und 50
50 = 50 und 33
Ich habe folgendes probiert, aber es klappt nicht....
[/ 'Beginn der Farbzuweisung für den Gesamtstatus
Dim LoI As Long ' Schleifenvariable
Dim LoLetzte5 As Long ' Variable letzte Zeile in Spalte E
Dim LoLetzte18 As Long ' Variable letzte Zeile in Spalte R
' letzte belegte Zeile unabhängig von Excelversion für Spalte E(5) und R (18)
LoLetzte5 = IIf(IsEmpty(Cells(Rows.Count, 5)), Cells(Rows.Count, 5).End(xlUp).Row, .Rows.Count)
LoLetzte18 = IIf(IsEmpty(Cells(Rows.Count, 18)), Cells(Rows.Count, 18).End(xlUp).Row, .Rows.Count)
If LoLetzte18 > LoLetzte5 Then LoLetzte5 = LoLetzte18 ' maximale Zeilenanzahl von Spalte A und B
For LoI = 5 To LoLetzte5
If .Cells(LoI, 5).Interior.ColorIndex = 3 And .Cells(LoI, 18).Interior.ColorIndex = 50 Then ' Vergleich ob Zelle Spalte E und Zelle Spalte R die gleiche Füllfarbe besitzen
.Cells(LoI, 2).Interior.ColorIndex = 3 ' Füllfarbe setzen
End If
Next LoI
End With
Application.ScreenUpdating = True ' Bildschirmaktualisierung ein ]
Vielleicht kann mir jemand weiterhelfen.
Liebe Grüße,
bluecard
Antwort schreiben
Antwort 1 von Saarbauer vom 02.04.2020, 15:11 Options
Hallo,
da es anscheinend nur ein Teil des Makro's ist nur ein paar Fragen:
1. Der Befehl "While ......" ist anscheinend vor dem hier vorliegenden Teil
2 Sinn der Abfrage nach leerer Zeile verstehe ich nicht
Zitat:
LoLetzte5 = IIf(
Zitat:
IsEmpty(Cells(Rows.Count, 5))
, Cells(Rows.Count, 5).End(xlUp).Row, .Rows.Count)
da du nach der letzten Zeile anschliessend noch fragst.
3. Warum fragst du innerhalb der Schleife jedesmal die letzte Zeile ab ?
Zitat:
LoLetzte5 = IIf(IsEmpty(Cells(Rows.Count, 5)), Cells(Rows.Count, 5).End(xlUp).Row, .Rows.Count)
Es kann natürlich mit dem übrigen Makro zusammenhängen, das uns unbekannt ist
Gruß
Helmut
Antwort 2 von bluecard vom 02.04.2020, 15:49 Options
Hallo Helmut,
vielen Dank für die schnelle Reaktion.
zu1.
habe ich "While..." verwendet?...
Leider habe ich mich erst seit zwei Tagen mit VBA beschäftigt und aus verschiedenen Artikeln mir ein bisschen was zusammen kopiert.. :)
zu2. und 3.
ich dachte mir, dass ich vorher vielleicht überprüfe, ob die Zelle überhaupt eine Füllfarbe enthält. Ist aber vielleicht auch zu kompliziert gedacht...
Mit dem restlichen Teil des Makros hat dies eigentlich nicht zu tun.
Ich habe vorher nur eine drop-down-Liste erstellt, wo Farben hinterlegt waren.
Zum Beispiel
Spalte E (Beleg unvollständig= rot) und Spalte R(Bankverbindung fehlt =rot).
Das hatte auch alles ganz gut geklappt.
Nun soll in einer dritten Spalte (B) immer ausgegeben werden, welche Kombination sich in den anderen ergeben hat - und entsprechend ein Endresultat mit Füllfarbe:
Also, wenn Spalte E= rot und Spalte R= rot, dann mache Spalte B=rot .... entsprechend den vorher beschriebenen Kategorien.
Ich hoffe die Antwort ist zufrieden stellend...
Liebe Grüße,
bluecard
PS: wie kopiere ich eigentlich den code ordentlich ins Forum?
wenn ich auf "code" klicke und dann den code in die Klammern setzte klappt dies anscheinend nicht so toll wie bei den anderen...