Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellen im Offset farbig darstellen?

Zellen im Offset farbig darstellen?
07.05.2021 20:18:40
Selma
Hallo Leute,
ich möchte in meinem Arbeitsblatt abhängig von Zellinhalten in Spalten G und F, die Zellen im Offset farbig darstellen.
Das habe ich wie folgt in meinem Versuch (geht sicherlich noch einfacher) :-) für eine Zeile hinbekommen.

Sub Color()
If Range("G3").Value = "0" And Range("F3").Value = "true" Then
Range("G3").Offset(0, -5).Interior.ColorIndex = 22
End If
If Range("G3").Value = "1" And Range("F3").Value = "true" Then
Range("G3").Offset(0, -4).Interior.ColorIndex = 22
End If
If Range("G3").Value = "2" And Range("F3").Value = "true" Then
Range("G3").Offset(0, -3).Interior.ColorIndex = 22
End If
If Range("G3").Value = "3" And Range("F3").Value = "true" Then
Range("G3").Offset(0, -2).Interior.ColorIndex = 22
End If
End Sub
Wie bringe ich dies in einer Schleife bitte, die ab Zeile 3 Zeile bis letzte Zelle mit Inhalt der Spalte A gelten soll?
Liebe Grüße,
Selma
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen im Offset farbig darstellen?
07.05.2021 20:22:45
Hajo_Zi
Hallo Selma,
warum VBA?
Benutze Bedingte Formatierung
GrußformelHomepage
Anzeige
AW: Zellen im Offset farbig darstellen?
07.05.2021 22:32:28
Selma
Hallo Hajo,
ich habe mich für VBA entschieden, weil ich diese Aktion in mehreren Dateien ausführen möchte und dies aus meiner Meinung nach per VBA schneller funktioniert.
Liebe Grüße,
Selma
AW: Zellen im Offset farbig darstellen?
07.05.2021 21:10:40
Luschi
Hallo Selma,
bei mir sieht das Konstrukt so aus:

Sub Color()
Dim rg1 As Range, rg2 As Range, n As Long
n = Cells(Cells.Rows.Count, 1).End(xlUp).Row
Set rg1 = Range(Cells(3, "G"), Cells(n, "G"))
For Each rg2 In rg1
If rg2.Value = "0" And rg2.Offset(0, -1).Value = "true" Then
rg2.Offset(0, -5).Interior.ColorIndex = 22
ElseIf rg2.Value = "1" And rg2.Offset(0, -1) = "true" Then
rg2.Offset(0, -5).Interior.ColorIndex = 23
ElseIf rg2.Value = "2" And rg2.Offset(0, -1) = "true" Then
rg2.Offset(0, -5).Interior.ColorIndex = 24
ElseIf rg2.Value = "2" And rg2.Offset(0, -1) = "true" Then
rg2.Offset(0, -5).Interior.ColorIndex = 25
Else
rg2.Offset(0, -5).Interior.ColorIndex = 0
End If
Next rg2
Set rg1 = Nothing: Set rg2 = Nothing
End Sub
Gruß von Luschi
aus klein-Paris
Anmerkung: Sollten in G3, G4 usw. echte Zahlen (also 1 oder 2 usw.) stehen und nicht Text-Zahlen ('2 oder '3 usw.)
bzw. in der F-Spalte richtige Wahrheítswerte (WAHR bzw. FALSCH oder True bzw. False) dann sieht die Prüfung so aus:
If rg2.Value = 0 And rg2.Offset(0, -1).Value Then
rg2.Offset(0, -1).Value entspricht dabei: rg2.Offset(0, -1).Value = True
das = True ist aber doppelt gemoppelt und kann entfallen.
Anzeige
AW: Zellen im Offset farbig darstellen?
07.05.2021 22:30:46
Selma
Hallo Luschi,
vielen Dank! Auch deine Lösung funktioniert perfekt.
Liebe Grüße,
Selma
AW: Zellen im Offset farbig darstellen?
07.05.2021 21:16:30
Nepumuk
Hallo Selma,
teste mal:
Code:

[Cc]

Public Sub SetColor() Dim objCell As Range For Each objCell In Range(Cells(3, 7), Cells(Rows.Count, 7).End(xlUp)) If objCell.Offset(0, -1).Value = "true" Then _ objCell.Offset(0, -5 + objCell.Value).Interior.Color = RGB(255, 128, 128) Next End Sub

Gruß
Nepumuk
Anzeige
AW: Zellen im Offset farbig darstellen?
07.05.2021 22:30:00
Selma
Hallo Nepumuk,
vielen Dank! Es funktioniert perfekt.
Liebe Grüße,
Selma
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige