Bedingte Formatierung Excel 2010 via Makro greift nicht bzw. ist falsch
Hallo zusammen,
ich habe ein Makro welches eine Bedingte Formatierung anwendet. Jetzt habe ich das Problem, das wenn ich das Makro laufen lasse, der zweite Bereich der bedingten Formatierungen nicht korrekt angewendet wird. Die Zellen werden also falsch eingefärbt.
Gebe ich die Bedingte Formatierung mit den selben Formeln per Hand ein, ist es ok.
Hier ist mein Code:
Gruß
ich habe ein Makro welches eine Bedingte Formatierung anwendet. Jetzt habe ich das Problem, das wenn ich das Makro laufen lasse, der zweite Bereich der bedingten Formatierungen nicht korrekt angewendet wird. Die Zellen werden also falsch eingefärbt.
Gebe ich die Bedingte Formatierung mit den selben Formeln per Hand ein, ist es ok.
Hier ist mein Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
'Formatierung zurück setzen
Range("E3:E19").Select
With Selection.Font
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
'Anwenden der Bedingten Formatierung
'Bereich E3,E10,E11,E15,E18 und E19
strRange = "$E$3,$E$10,$E$11,$E$15,$E$18:$E$19"
With Sheets(strSheet).Range(strRange).FormatConditions.Add(xlExpression, Formula1:="=D3<(C3*0,9)")
.Font.Color = RGB(255, 255, 255) 'Weiß
.Interior.Color = RGB(255, 0, 0) 'Rot
End With
With Sheets(strSheet).Range(strRange).FormatConditions.Add(xlExpression, Formula1:="=UND(D3<C3;D3>=(C3*0,9))")
.Font.Color = RGB(0, 0, 0) ' schwarz
.Interior.Color = RGB(255, 255, 0) 'Gelb
End With
With Sheets(strSheet).Range(strRange).FormatConditions.Add(xlExpression, Formula1:="=UND(D3>=C3;D3<(C3*1,1))")
.Font.Color = RGB(0, 0, 0) 'schwarz
.Interior.Color = RGB(0, 255, 0) 'Grün
End With
With Sheets(strSheet).Range(strRange).FormatConditions.Add(xlExpression, Formula1:="=D3>=(C3*1,1)")
.Font.Color = RGB(255, 255, 255) 'weiß
.Interior.Color = RGB(0, 0, 255) ' Blau
End With
'Anwenden der Bedingten Formatierung der restlichen Bereiche
strRange = "$E$4,$E$5,$E$6,$E$7,$E$8,$E$9,$E$12,$E$13,$E$14,$E$16,$E$17"
With Sheets(strSheet).Range(strRange).FormatConditions.Add(xlExpression, Formula1:="=D3<(C3*0,9)")
'blau
.Font.Color = RGB(255, 255, 255) 'weiß
.Interior.Color = RGB(0, 0, 255) ' Blau
End With
With Sheets(strSheet).Range(strRange).FormatConditions.Add(xlExpression, Formula1:="=UND(D3<C3;D3>=(C3*0,9))")
'grün
.Font.Color = RGB(0, 0, 0) 'schwarz
.Interior.Color = RGB(0, 255, 0) 'Grün
End With
With Sheets(strSheet).Range(strRange).FormatConditions.Add(xlExpression, Formula1:="=UND(D3>=C3;D3<(C3*1,1))")
'gelb
.Font.Color = RGB(0, 0, 0) ' schwarz
.Interior.Color = RGB(255, 255, 0) 'Gelb
End With
With Sheets(strSheet).Range(strRange).FormatConditions.Add(xlExpression, Formula1:="=D3>=(C3*1,1)")
'rot
.Font.Color = RGB(255, 255, 255) 'Weiß
.Interior.Color = RGB(255, 0, 0) 'Rot
End With
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 257714
Url: https://administrator.de/forum/bedingte-formatierung-excel-2010-via-makro-greift-nicht-bzw-ist-falsch-257714.html
Ausgedruckt am: 15.04.2025 um 06:04 Uhr
6 Kommentare
Neuester Kommentar

Moin,
meist liegt das an der falschen Reihenfolge oder an sich überschneidenden Formeln der bedingten Formatierungen ! Und verwende besser feste Zellbezüge($) in den Formeln wenn diese sich nicht ändern sollen.
Gruß jodel32
meist liegt das an der falschen Reihenfolge oder an sich überschneidenden Formeln der bedingten Formatierungen ! Und verwende besser feste Zellbezüge($) in den Formeln wenn diese sich nicht ändern sollen.
Gruß jodel32

Hallo killtec!
Versuchs mal so:
Grüße Dieter
[edit] Codezeile 1 geändert (Sheet vergessen) [/edit]
Versuchs mal so:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Sheets(strSheet).Range("E3:E19").FormatConditions.Delete
'Anwenden der Bedingten Formatierung
'Bereich E3,E10,E11,E15,E18 und E19
strRange = "$E$3,$E$10,$E$11,$E$15,$E$18:$E$19"
For Each objCell In Sheets(strSheet).Range(strRange)
With objCell.FormatConditions.Add(xlExpression, Formula1:="=D3<(C3*0,9)")
.Font.Color = RGB(255, 255, 255) 'Weiß
.Interior.Color = RGB(255, 0, 0) 'Rot
End With
With objCell.FormatConditions.Add(xlExpression, Formula1:="=UND(D3<C3;D3>=(C3*0,9))")
.Font.Color = RGB(0, 0, 0) ' schwarz
.Interior.Color = RGB(255, 255, 0) 'Gelb
End With
With objCell.FormatConditions.Add(xlExpression, Formula1:="=UND(D3>=C3;D3<(C3*1,1))")
.Font.Color = RGB(0, 0, 0) 'schwarz
.Interior.Color = RGB(0, 255, 0) 'Grün
End With
With objCell.FormatConditions.Add(xlExpression, Formula1:="=D3>=(C3*1,1)")
.Font.Color = RGB(255, 255, 255) 'weiß
.Interior.Color = RGB(0, 0, 255) ' Blau
End With
Next
'Anwenden der Bedingten Formatierung der restlichen Bereiche
strRange = "$E$4,$E$5,$E$6,$E$7,$E$8,$E$9,$E$12,$E$13,$E$14,$E$16,$E$17"
For Each objCell In Sheets(strSheet).Range(strRange)
With objCell.FormatConditions.Add(xlExpression, Formula1:="=D3<(C3*0,9)")
'blau
.Font.Color = RGB(255, 255, 255) 'weiß
.Interior.Color = RGB(0, 0, 255) ' Blau
End With
With objCell.FormatConditions.Add(xlExpression, Formula1:="=UND(D3<C3;D3>=(C3*0,9))")
'grün
.Font.Color = RGB(0, 0, 0) 'schwarz
.Interior.Color = RGB(0, 255, 0) 'Grün
End With
With objCell.FormatConditions.Add(xlExpression, Formula1:="=UND(D3>=C3;D3<(C3*1,1))")
'gelb
.Font.Color = RGB(0, 0, 0) ' schwarz
.Interior.Color = RGB(255, 255, 0) 'Gelb
End With
With objCell.FormatConditions.Add(xlExpression, Formula1:="=D3>=(C3*1,1)")
'rot
.Font.Color = RGB(255, 255, 255) 'Weiß
.Interior.Color = RGB(255, 0, 0) 'Rot
End With
Next
Grüße Dieter
[edit] Codezeile 1 geändert (Sheet vergessen) [/edit]

Hallo killtec !
Versuchs nochmal, hatte in Codezeile 1 (oben geändert) die Sheet-Angabe vergessen
Grüße Dieter
Versuchs nochmal, hatte in Codezeile 1 (oben geändert) die Sheet-Angabe vergessen
Grüße Dieter