Anzeige
Archiv - Navigation
868to872
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
868to872
868to872
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige