Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Füllfarben vergleichen





Frage

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 1 von Saarbauer

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

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...

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: