Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Farblich ausfüllen

Forumthread: Farblich ausfüllen

Farblich ausfüllen
09.05.2007 16: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 16: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 16: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 16: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 16: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 16: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 16:34:20
Oliver
Danke für die Hilfe!

AW: Farblich ausfüllen
09.05.2007 16: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
;

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