Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
312to316
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
312to316
312to316
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datum markieren bei mehreren Bedingungen

Datum markieren bei mehreren Bedingungen
19.09.2003 21:26:13
Claus
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!!!

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum markieren bei mehreren Bedingungen
19.09.2003 21:31:37
Hajo_Zi
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/

Anzeige
AW: Datum markieren bei mehreren Bedingungen
19.09.2003 21:43:04
Claus
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...
Anzeige
AW: Datum markieren bei mehreren Bedingungen
19.09.2003 21:55:07
Ramses
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
Anzeige
Kleiner Fehler noch...
19.09.2003 22:12:11
Claus
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?
Kein Fehler...
19.09.2003 22:16:53
Ramses
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
Anzeige
AW: Kein Fehler...
19.09.2003 22:18:45
Claus
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!
Nachtrag....
19.09.2003 22:21:54
Ramses
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
Anzeige
AW: Nachtrag....
19.09.2003 22:56:50
Claus
Danke, habe ich bereits berücksichtigt - das mit dem Datum in Zelle A2. Tja, VBA Kenntnisse sind eben doch "gut"...lol

Gruß aus Hamburg
AW: Datum markieren bei mehreren Bedingungen
20.09.2003 10:17:28
Franz Pölt
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
Anzeige
Ich lerne gerade...Vorzüge d. Bed. Formatierung
20.09.2003 10:37:27
Claus
...habe ich mich bis jetzt nicht mit beschäftigt. Aber das hat sich nun geändert!!!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige