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

Farblich ausfüllen

Forumthread: Farblich ausfüllen

Farblich ausfüllen
09.05.2007 18:06:10
Oliver
Hallo,
ich möchte mit dem folgenden erreichen, dass unter bestimmten Bedingungen Kästchen eingefärbt werden. Die bedingt Formatierung lässt das in dem Umfang meiner Meinung nach nicht zu.

Sub Farbe()
Dim i As Integer
For i = 4 To 100
If Cells(i, 3) = Cells(2, 4) Then Cells(i, 4).Select
With Selection.Interior
.ColorIndex = 45
.Pattern = xlSolid
End With
If Cells(i, 3) = Cells(2, 5) Then Range(Cells(i, 4), Cells(i, 5)).Select
With Selection.Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
If Cells(i, 3) = Cells(2, 6) Then Range(Cells(i, 4), Cells(i, 6)).Select
With Selection.Interior
.ColorIndex = 50
.Pattern = xlSolid
End With
If Cells(i, 3) = Cells(2, 7) Then Range(Cells(i, 4), Cells(i, 7)).Select
With Selection.Interior
.ColorIndex = 42
.Pattern = xlSolid
End With
If Cells(i, 3) = Cells(2, 8) Then Range(Cells(i, 4), Cells(i, 8)).Select
With Selection.Interior
.ColorIndex = 41
.Pattern = xlSolid
End With
If Cells(i, 3) = Cells(2, 9) Then Range(Cells(i, 4), Cells(i, 9)).Select
With Selection.Interior
.ColorIndex = 13
.Pattern = xlSolid
End With
If Cells(i, 3) = Cells(2, 10) Then Range(Cells(i, 4), Cells(i, 10)).Select
With Selection.Interior
.ColorIndex = 48
.Pattern = xlSolid
End With
If Cells(i, 3) = Cells(2, 11) Then Cells(i, 11).Select
With Selection.Interior
.ColorIndex = 40
.Pattern = xlSolid
End With
If Cells(i, 3) = Cells(2, 12) Then Cells(i, 12).Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
Next i
End Sub


Nun werden die Zellen zwar eingefärbt, jedoch nicht mit unterschiedlichen Farben. Woran liegt das? Vielen Dank schon im Voraus.
VG
Oliver

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Farblich ausfüllen
09.05.2007 18:18:16
Reinhard
Hallo Oliver,
das ist ja gut gemeint, doch Deine If-Schleifen selectieren nur die neue Zelle, die Farbe ist aber nicht mit in der if-Schleife eingeschlossen.
Versuch mal wie folgt (auch für alle anderen Schleifen):
If Cells(i, 3) = Cells(2, 4) Then
cells(i, 4).select
Selection.Interior.ColorIndex = 45
end if

Anzeige
AW: Farblich ausfüllen
09.05.2007 18:20:00
Werni
Hallo Oliver
Es geht aber auch ohne Select.
If Cells(i, 3) = Cells(2, 5) Then Range(Cells(i, 4), Cells(i, 5)).Interior.ColorIndex = 43
Gruss Werner

AW: Farblich ausfüllen
09.05.2007 18:20:00
mpb
Hallo Reinhard,
beide Varianten bewirken dasselbe. Ein Test ergab auch, dass Olivers Code funktioniert. Ich kann sein Problem nicht nachvollziehen.
Gruß
Martin

Anzeige
AW: Farblich ausfüllen
09.05.2007 18:35:00
Reinhard
Hallo Martin,
Du hast recht. Allerdings können in der For-Next-Schleife mehrere Bedingungen erfüllt sein, so dass ggf. eine zuvor vorgenommene Farbeinstellung durch eine andere überschrieben wird.
Im übrigen ist das "Range(cells(..), cells(...))" schon in Ordnung, wenn der Bereich tatsächlich geeint ist.
Gruß Reinhard

Anzeige
AW: Farblich ausfüllen
09.05.2007 18:25:04
Rudi
Hallo,
ohne Select:

Sub Farbe()
Dim i As Integer
For i = 4 To 100
If Cells(i, 3) = Cells(2, 4) Then
With Cells(i, 4).Interior
.ColorIndex = 45
.Pattern = xlSolid
End With
End If
If Cells(i, 3) = Cells(2, 5) Then
With Range(Cells(i, 4), Cells(i, 5)).Interior
.ColorIndex = 43
.Pattern = xlSolid
End With
End If
If Cells(i, 3) = Cells(2, 6) Then
With Range(Cells(i, 4), Cells(i, 6)).Interior
.ColorIndex = 50
.Pattern = xlSolid
End With
End If
If Cells(i, 3) = Cells(2, 7) Then
With Range(Cells(i, 4), Cells(i, 7)).Interior
.ColorIndex = 42
.Pattern = xlSolid
End With
End If
If Cells(i, 3) = Cells(2, 8) Then
With Range(Cells(i, 4), Cells(i, 8)).Interior
.ColorIndex = 41
.Pattern = xlSolid
End With
End If
If Cells(i, 3) = Cells(2, 9) Then
With Range(Cells(i, 4), Cells(i, 9)).Interior
.ColorIndex = 13
.Pattern = xlSolid
End With
End If
If Cells(i, 3) = Cells(2, 10) Then
With Range(Cells(i, 4), Cells(i, 10)).Interior
.ColorIndex = 48
.Pattern = xlSolid
End With
End If
If Cells(i, 3) = Cells(2, 11) Then
With Cells(i, 11).Interior
.ColorIndex = 40
.Pattern = xlSolid
End With
End If
If Cells(i, 3) = Cells(2, 12) Then
With Cells(i, 12).Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
End If
Next i
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: Farblich ausfüllen
09.05.2007 18:34:20
Oliver
Danke für die Hilfe!

AW: Farblich ausfüllen
09.05.2007 18:20:29
Armin
Hallo Oliver,
Dein Range.select Objekt ist Falsch definiert Du beginnts immer "Range(Cells(i, 4)" dadurch wird das Select nur vergößert!
Gruß Armin
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18