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

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, 1144 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
Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 11 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 17 StundenWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 21 StundeniOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 2 TagenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Windows Server
Alten DC entfernen
Frage von smartinoWindows Server24 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...