Das Archiv des Excel-Forums

Datum markieren bei mehreren Bedingungen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Datum markieren bei mehreren Bedingungen
von: Claus

Geschrieben am: 19.09.2003 21:26:13

Guten Abend,

mein Problem von gestern hat sich noch weiter präzisiert...ich habe folgende Tabelle (die "echte" umfaßt 17000 Einträge!):













 ABCD
1aktuelles Datum Start-Termin End-Termin 
2

19.09.2003

21.08.2003 20.09.2003ok
3  10.11.2003 10.12.2003ok
4  31.08.1999 30.09.1999ok
5    ok
6 29.08.200328.09.2003  
7 22.08.200321.09.2003  
8 02.12.200201.01.2003 ok
9 05.03.200304.04.2003  

In Spalte A1 steht per VBA Code immer das aktuelle Datum. Nun sollen per Button, der auf dem Tabellenblatt plaziert ist, all die Spalten rot bzw. gelb markiert werden, die folgende Eigenschaft haben:

ROT: Wenn die Differenz vom aktuellen Datum (A1) zum Datum in Spalte C kleiner als 5 Tage ist und in Spalte C nicht "ok" steht...

GELB: Wenn die Differenz vom aktuellen Datum zum Datum in Spalte C kleiner als 10 Tage ist und in Spalte C nicht "ok" steht...

Sobald aber in Spalte C "ok" steht, soll nicht farblich markiert werden. Ich brauche eine solche Funktion als VBA Code (!!!), da ich mit User-Forms einigermaßen gut klar komme und dann den Code modifizieren möchte.

Vielen Dank für eure Hilfe!!!
Bild


Betrifft: AW: Datum markieren bei mehreren Bedingungen
von: Hajo_Zi
Geschrieben am: 19.09.2003 21:31:37

Hallo Claus

es gibt in Excel keine Spalte A1 dies ist eine Zelle.

zu Rot vermute ich mal Du meinst die aktuelle Zeile und nicht die gesamte Spalte.

Warum nicht Format, bedingte Formatierung. Du hast ja nicht mehr als 3 Bedingungen.



Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.

Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen.
Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.


http://home.media-n.de/ziplies/



Bild


Betrifft: AW: Datum markieren bei mehreren Bedingungen
von: Claus
Geschrieben am: 19.09.2003 21:43:04

Hallo Hajo,

ich hätte gerne den VBA-Code wegen der Übersichtlichkeit...

Bei der Bedingten Formatirung kann man schnell Funktionen, die in der DAtei alle so vorkommen, übersehen. DAnn hätte ich viel VBA Code und irgendwo noch Bedingte Formatierung. Sicher kann ich das mit dem MAroeditor alles Aufzeichen und dann als VBA-Code weiterverwenden. Aber sind Dinge wie "=(C2-HEUTE())<6" wirklich auf allen Rechnern mit allen Sprach-Konfigurationen zu verwenden? Das Tool soll zur Terminverfolgung dienen und eben deshalb möglichst leicht und vor allem Zentral abzuändern sein. Und dazu bietet sich der VBA-Code nunmal besser als die Bedingte Formatierung...


Bild


Betrifft: AW: Datum markieren bei mehreren Bedingungen
von: Ramses
Geschrieben am: 19.09.2003 21:55:07

Hallo

probier mal das Makro



Sub Mark_Cells()
Dim Cr As Long, xVal As Integer, i As Long
Cr = Range("A65536").End(xlUp).Row
Range(Cells(1, 1), Cells(Cr, 4)).Interior.ColorIndex = xlNone
For i = 1 To Cr
    xVal = Cells(i, 3) - Cells(i, 1)
    Debug.Print xVal
    Select Case xVal
        Case Is < 5
            If UCase(Cells(i, 4)) <> "OK" Then
                Range(Cells(i, 1), Cells(i, 4)).Interior.ColorIndex = 3
            End If
        Case Is < 10
            If UCase(Cells(i, 4)) <> "OK" Then
                Range(Cells(i, 1), Cells(i, 4)).Interior.ColorIndex = 6
            End If
    End Select
Next i
End Sub 
     Code eingefügt mit Syntaxhighlighter 1.16



Gruss Rainer


Bild


Betrifft: Kleiner Fehler noch...
von: Claus
Geschrieben am: 19.09.2003 22:12:11

Hallo Ramses,

Danke für den guten Ansatz. Allerdings gibt es einen Laufzeitfehler beim Subtrahieren an dieser Stelle:

xVal = Cells(i, 3) - Cells(i, 1)

Das liegt wohl daran, das es sich bei dem Ergebnis um ein Datum handelt. Wie muss man das den Formatieren, damit eine Interer-Zahl herauskommt?


Bild


Betrifft: Kein Fehler...
von: Ramses
Geschrieben am: 19.09.2003 22:16:53

Hallo,

.... wenn du mit VBA gut rauskommst, sollte das doch kein Problem sein ;-))
Das Makro funktioniert und ist getestet,..... allerdings habe ich in Zeile 1 nichts stehen :-))

Ändere

For i = 1 to Cr

in

For i = 2 to Cr

Dann beginnt das Makro erst in Zeile 2. Da kannst du Variablen deklarieren wie du willst,.... wenn du Text von Text abziehen willst geht es in die Hose *lol*

Gruss Rainer


Bild


Betrifft: AW: Kein Fehler...
von: Claus
Geschrieben am: 19.09.2003 22:18:45

DAnke, so klappt es.

Leider kenn ich mich mit VBA einigermaßen aus. DAs kann ich aber nirgends angeben. Nur gut oder garnicht...

Schönes Wochenende und vielen Dank!


Bild


Betrifft: Nachtrag....
von: Ramses
Geschrieben am: 19.09.2003 22:21:54

Hallo

Datum sind immer Long-Integer-Zahlen. Sie werden nur durch Formatierung zu einem verständlichen Datum.

Wenn ich wie in deinem Beispiel Zwei so nahe Datumswerte voneinander subtrahiere kommen aber immer Integer-Zahlen raus.
Eigentlich reicht hierfür auch Byte,... aber das nur am Rande.

Eine Idee kommt mir noch:
Steht dein Datum NUR in A2 dann muss die Anweisung lauten

xVal = Cells(i, 3) - Cells(2, 1)

Gruss Rainer


Bild


Betrifft: AW: Nachtrag....
von: Claus
Geschrieben am: 19.09.2003 22:56:50

Danke, habe ich bereits berücksichtigt - das mit dem Datum in Zelle A2. Tja, VBA Kenntnisse sind eben doch "gut"...lol

Gruß aus Hamburg


Bild


Betrifft: AW: Datum markieren bei mehreren Bedingungen
von: Franz Pölt
Geschrieben am: 20.09.2003 10:17:28

Hallo Claus,

du scheinst ein echter VBA-Fan zu sein, denn:

17000 Einträge per VBA zu überprüfen wenn man nicht muss ist IMHO Unsinn!

Hier eine Lösung ohne VBA (bedingte Formatierung):

Excel Jeanie HTML
Bedingte Formatierungen der Tabelle
ZelleNr.: / BedingungFormat
C21. / Formel ist =UND(C2>0;C2-$A$2<6;$D2<>"ok")Abc
C22. / Formel ist =UND(C2>0;C2-$A$2<11;$D2<>"ok")Abc
C31. / Formel ist =UND(C3>0;C3-$A$2<6;$D3<>"ok")Abc
C32. / Formel ist =UND(C3>0;C3-$A$2<11;$D3<>"ok")Abc
C41. / Formel ist =UND(C4>0;C4-$A$2<6;$D4<>"ok")Abc
C42. / Formel ist =UND(C4>0;C4-$A$2<11;$D4<>"ok")Abc
C51. / Formel ist =UND(C5>0;C5-$A$2<6;$D5<>"ok")Abc
C52. / Formel ist =UND(C5>0;C5-$A$2<11;$D5<>"ok")Abc
C61. / Formel ist =UND(C6>0;C6-$A$2<6;$D6<>"ok")Abc
C62. / Formel ist =UND(C6>0;C6-$A$2<11;$D6<>"ok")Abc
C71. / Formel ist =UND(C7>0;C7-$A$2<6;$D7<>"ok")Abc
C72. / Formel ist =UND(C7>0;C7-$A$2<11;$D7<>"ok")Abc
C81. / Formel ist =UND(C8>0;C8-$A$2<6;$D8<>"ok")Abc
C82. / Formel ist =UND(C8>0;C8-$A$2<11;$D8<>"ok")Abc
C91. / Formel ist =UND(C9>0;C9-$A$2<6;$D9<>"ok")Abc
C92. / Formel ist =UND(C9>0;C9-$A$2<11;$D9<>"ok")Abc
Excel Tabellen einfach im Web darstellen   Excel Jeanie HTML  2.0    Download   Servus aus dem Salzkammergut Franz

Bild


Betrifft: Ich lerne gerade...Vorzüge d. Bed. Formatierung
von: Claus
Geschrieben am: 20.09.2003 10:37:27

...habe ich mich bis jetzt nicht mit beschäftigt. Aber das hat sich nun geändert!!!


 Bild

Excel-Beispiele zum Thema " Datum markieren bei mehreren Bedingungen"

Bereich mit Maximalwert markieren download Zeilen markieren download
Zellen vergleichen und markieren download Markieren in Abhängigkeit vom Quartal download
Listbox-Eintrag durch Mausbewegung markieren download Drei Zellen rechts der aktiven Zelle markieren download
Zelle mit Maximalwert markieren download Alle nichtleeren Zeilen markieren download
Start- und Enddatum abfragen und markieren download Minimalwerte je Zeile markieren download
Nach Verlassen von Spalte B Spalte C markieren download Mit der aktiven Zelle jeweil 9 weitere in der Zeile markieren download
Monatsabhängige Tagesliste anlegen und Wochenenden markieren download Wahlweise Elemente in UserForm-Text- oder -ListBox markieren download
Begriffe in ausgeblendeter Spalte suchen und Fundzeile markieren download Zelle mit kleinsten Wert markieren download
Bestimmte Zeichen in einer UserForm-TextBox markieren download Über die bedingte Formatierung den Minimalwert markieren download
Kopfzelle mit aktivem Autofilter markieren download Doppelt vorkommende Werte markieren download
Doppelte Datensätze farblich markieren und auflisten download Wochenenden und Feiertage in Jahresliste markieren download
Datumsreihen nach Vorgabe markieren download Zeichen in UserForm-TextBox durch ScrollBar-Schieber markieren download
Datumsbereich in Abhängigkeit von 3 Kriterien markieren download Kürzel über Kontextmenü auswählen und markieren download
Tabellen vergleichen und bei Nichtübereinstimmung markieren download Suchbegriff abfragen und Fundzeile markieren download
Maximalwerte im selektierten Bereich markieren download Min- und Max-Werte automatisch markieren download
In Folgeblättern nicht vorkommende Werte markieren download Überschrittene Zahlungstermine markieren download
Von einer Zeilenauswahl jede zweite markieren download Zellen in Abhängigkeit der aktuellen Uhrzeit markieren download
Datumsbereich gem. Start- und Enddatum markieren download Letzte Zeile mit einem bestimmten Anfangsbuchstaben markieren download
Zellen in Abhängigkeit des Summen-Teilergebnisses markieren download Cursor-Position rechts und links markieren download
Alle ungeraden Zahlen markieren download Label und Zellen farbig markieren download
Doppelt vorkommende Werte in Spalte A markieren download Artikel mit den in einem Farbindex hinterlegten Farben markieren download
Gleiche Einträge markieren download Teilstrings vergleichen und markieren download
Werte markieren, die größer als Parallelwerte sind download Markieren von Auswahlbereichen download
Markieren von festgelegten Bereichen download Zeile markieren, in der sich der Cursor befindet download
Datensätze wechselseitig bei Nichtauffinden markieren download Werte, die auch in anderen Spalten vorkommen, markieren download
Druck aus mehreren Tabellenblättern auf eine Druckseite download Daten von mehreren Blättern auf ein Druckblatt download
Werte in mehreren Spalten sortieren download Den selben Bereichsnamen in mehreren Tabellenblättern download
Tabelle nach mehreren Kriterien summieren download Auswahl von Zellen in mehreren Zeilen verhinden download
Wert von einer Zelle zur anderen in mehreren Tabellen übernehmen download Benannte Bereich aus mehreren Arbeitsmappen importieren download
Filtern über VBA nach mehreren Kriterien download Kosten nach mehreren Kriterien erfassen download
Wert aus Spalte C, wenn Spalten A und B Bedingungen erfüllen download Beim Erfüllen einer Bedingungen Farbe für 1 Minute download
Anzahl von Werten nach verschiedenen Bedingungen. download Zeilen zählen, in denen zwei Bedingungen zutreffen download
Dem Zellkontextmenü ein Menü "Zahlungsbedingungen" hinzufügen download Zelle markieren, wenn zwei Bedingungen erfüllt sind download