Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Bedingte Formatierung Excel 2010 via Makro greift nicht bzw. ist falsch

Frage Microsoft Microsoft Office

Mitglied: killtec

killtec (Level 3) - Jetzt verbinden

16.12.2014 um 08:26 Uhr, 1067 Aufrufe, 6 Kommentare

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:
01.
'Formatierung zurück setzen 
02.
    Range("E3:E19").Select 
03.
    With Selection.Font 
04.
        .ColorIndex = xlAutomatic 
05.
        .TintAndShade = 0 
06.
    End With 
07.
    With Selection.Interior 
08.
        .Pattern = xlNone 
09.
        .TintAndShade = 0 
10.
        .PatternTintAndShade = 0 
11.
    End With 
12.
     
13.
'Anwenden der Bedingten Formatierung 
14.
'Bereich E3,E10,E11,E15,E18 und E19 
15.
    strRange = "$E$3,$E$10,$E$11,$E$15,$E$18:$E$19" 
16.
     
17.
    With Sheets(strSheet).Range(strRange).FormatConditions.Add(xlExpression, Formula1:="=D3<(C3*0,9)") 
18.
        .Font.Color = RGB(255, 255, 255) 'Weiß 
19.
        .Interior.Color = RGB(255, 0, 0) 'Rot 
20.
    End With 
21.
     
22.
    With Sheets(strSheet).Range(strRange).FormatConditions.Add(xlExpression, Formula1:="=UND(D3<C3;D3>=(C3*0,9))") 
23.
        .Font.Color = RGB(0, 0, 0) ' schwarz 
24.
        .Interior.Color = RGB(255, 255, 0) 'Gelb 
25.
    End With 
26.
     
27.
    With Sheets(strSheet).Range(strRange).FormatConditions.Add(xlExpression, Formula1:="=UND(D3>=C3;D3<(C3*1,1))") 
28.
        .Font.Color = RGB(0, 0, 0) 'schwarz 
29.
        .Interior.Color = RGB(0, 255, 0) 'Grün 
30.
    End With 
31.
     
32.
    With Sheets(strSheet).Range(strRange).FormatConditions.Add(xlExpression, Formula1:="=D3>=(C3*1,1)") 
33.
        .Font.Color = RGB(255, 255, 255) 'weiß 
34.
        .Interior.Color = RGB(0, 0, 255) ' Blau 
35.
    End With 
36.
 
37.
'Anwenden der Bedingten Formatierung der restlichen Bereiche 
38.
 
39.
    strRange = "$E$4,$E$5,$E$6,$E$7,$E$8,$E$9,$E$12,$E$13,$E$14,$E$16,$E$17" 
40.
     
41.
    With Sheets(strSheet).Range(strRange).FormatConditions.Add(xlExpression, Formula1:="=D3<(C3*0,9)") 
42.
        'blau 
43.
        .Font.Color = RGB(255, 255, 255) 'weiß 
44.
        .Interior.Color = RGB(0, 0, 255) ' Blau 
45.
 
46.
    End With 
47.
     
48.
    With Sheets(strSheet).Range(strRange).FormatConditions.Add(xlExpression, Formula1:="=UND(D3<C3;D3>=(C3*0,9))") 
49.
        'grün 
50.
        .Font.Color = RGB(0, 0, 0) 'schwarz 
51.
        .Interior.Color = RGB(0, 255, 0) 'Grün 
52.
 
53.
    End With 
54.
     
55.
    With Sheets(strSheet).Range(strRange).FormatConditions.Add(xlExpression, Formula1:="=UND(D3>=C3;D3<(C3*1,1))") 
56.
        'gelb 
57.
        .Font.Color = RGB(0, 0, 0) ' schwarz 
58.
        .Interior.Color = RGB(255, 255, 0) 'Gelb 
59.
    End With 
60.
     
61.
    With Sheets(strSheet).Range(strRange).FormatConditions.Add(xlExpression, Formula1:="=D3>=(C3*1,1)") 
62.
        'rot 
63.
        .Font.Color = RGB(255, 255, 255) 'Weiß 
64.
        .Interior.Color = RGB(255, 0, 0) 'Rot 
65.
    End With
Gruß
Mitglied: 114757
16.12.2014, aktualisiert um 09:30 Uhr
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
Bitte warten ..
Mitglied: Eintagsfliege
16.12.2014, aktualisiert um 11:32 Uhr
Hallo killtec!

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

[edit] Codezeile 1 geändert (Sheet vergessen) [/edit]
Bitte warten ..
Mitglied: killtec
16.12.2014 um 10:13 Uhr
Das Script hilft / ändert leider nichts.
Die Reinfolge ist soweit richtig angewendet.

Gruß
Bitte warten ..
Mitglied: Eintagsfliege
16.12.2014 um 11:44 Uhr
Hallo killtec !

Versuchs nochmal, hatte in Codezeile 1 (oben geändert) die Sheet-Angabe vergessen

Grüße Dieter
Bitte warten ..
Mitglied: killtec
22.12.2014 um 08:57 Uhr
Hi, das hat leider nicht geholfen.
Ich glaube das ist ein generelles Excel Problem.

Schöne Weihnachten.
Bitte warten ..
Mitglied: killtec
16.01.2015 um 09:18 Uhr
Hi,
so, da Makro funktioniert nun. Der Fehler liegt im Detail:
Falsch:
01.
 strRange = "$E$4,$E$5,$E$6,$E$7,$E$8,$E$9,$E$12,$E$13,$E$14,$E$16,$E$17" 
02.
     
03.
    For Each objCell In Sheets(strSheet).Range(strRange) 
04.
        With objCell.FormatConditions.Add(xlExpression, Formula1:="=D3<(C3*0,9)")
richtig:
01.
 strRange = "$E$4,$E$5,$E$6,$E$7,$E$8,$E$9,$E$12,$E$13,$E$14,$E$16,$E$17" 
02.
     
03.
    For Each objCell In Sheets(strSheet).Range(strRange) 
04.
        With objCell.FormatConditions.Add(xlExpression, Formula1:="=D4<(C4*0,9)")
Die Formel muss auch beim ersten Punkt der Range anfangen. (Bin ich durch Zufall drauf gekommen....)

Gruß
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Microsoft Office
gelöst Excel 2010 Zellen mit bestimmten Inhalt mit Makro formartierten (5)

Frage von packmann2016 zum Thema Microsoft Office ...

Microsoft Office
gelöst EXCEL Bedingte Formatierung wenn bestimmtes Jahr im Datum ist (6)

Frage von Hobi84 zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel bedingte Formatierung per Formel mit übernehmen (16)

Frage von Florian86 zum Thema Microsoft Office ...

Microsoft Office
Excel 2010 - Microsoft Excel kann die Daten nicht kopieren (4)

Frage von EDV-Oellerking zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...