Top-Themen

Aktuelle Themen (A bis Z)

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

Frage Microsoft Microsoft Office

GELÖST

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

Mitglied: killtec

killtec (Level 3) - Jetzt verbinden

16.12.2014 um 08:26 Uhr, 1114 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: 116301
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: 116301
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 ..
Ähnliche Inhalte
Microsoft Office
Bedingte Formatierung in Excel 2010
gelöst Frage von killtecMicrosoft Office10 Kommentare

Hallo, ich möchte in Excel 2010 eine Bedingte Formatierung anlegen, die etwas komplexer ist. Ich habe einen Wert z.B. ...

Microsoft Office
Bedingte Formatierung in Excel 2016
gelöst Frage von DarkMoonMicrosoft Office8 Kommentare

Hallo zusammen, ich scheitere zur Zeit an der Bedingten Formatierung in Excel. Es soll, wenn ich in der "Ja" ...

Microsoft Office
Excel bedingte Formatierung
Frage von 103148Microsoft Office3 Kommentare

Hallo, ich berechne das Alter von Computern aus dem Liefer Datum ( K181 ) K181 L181 M181 28.02.2013 3 Alter: 1 ...

Microsoft Office
Excel 2010 via Makro bedingten Seitenumbruch einfügen
Frage von arduinoMicrosoft Office1 Kommentar

Hallo Ich hab ein ExcelMakro, das ein formatiertes Textfile importiert Jetzt ist der Wunsch, dass nach den Eintritten von ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 4 StundenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 22 StundenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 23 StundenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
gelöst Frage von Windows10GegnerNetzwerkgrundlagen21 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...

Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit18 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...

Netzwerke
Packet loss bei "InternetLeitungsvollauslastung"
gelöst Frage von Freak-On-SiliconNetzwerke17 Kommentare

Servus; Ja der Titel klingt komisch, is aber so. Wenn die Internetleitung voll ausgelastet ist, hab ich extreme packet ...