Excel 2010 Probleme mit Datum 30.12.

30/12/2011 - 11:49 von Tom | Report spam
Hallo,

ich stehe hier vor einem Ràtsel.

Gestern hat noch alles perfekt funktioniert.

Ich habe ein VBA welches Zeilen einfàrbt.
Beispiel: Ist eine Zelle leer oder Datum in der Zukunft wird
eingetragen, dann soll die Zeile weiß bleiben.
Steht das aktuelle Datum, dann soll die Zeile grün eingefàrbt werden.
Bei allen anderen, vor allem Datum der Vergangenheit, soll die Zeile
gelb eingefàrbt werden.

Wie gesagt, bis gestern funktionierte dies pràchtig.

Heute sind die Zellen leer und dennoch wird die Zeile grün eingefàrbt.

Hier der Code:
Private Sub CommandButton4_Click()

Dim daDatum As Date ' Variable für das Datum
Dim loZeile As Long ' Variable für die Zeile
Dim strNamen As String ' Variable für die Namen
loZeile = 4
' Schleife so lange durchlaufen bis in Spalte L eine Leerzelle
vorhanden ist
Do Until IsEmpty(Cells(loZeile, 8))
' Datum aus Spalte L auf die Variable schreiben
daDatum = Cells(loZeile, 12)
With Range(Cells(loZeile, 2), Cells(loZeile, 17))
' wenn das Datum nach dem aktuellen Datum oder mehr als 50
Tage vor dem aktuellen Datum liegt, Füllfarbe zurücksetzen
If CDate(Day(daDatum) & "." & Month(daDatum) & "." &
Year(Date)) + 50 < Date Or _
CDate(Day(daDatum) & "." & Month(daDatum) & "." &
Year(Date)) > Date Then
.Interior.ColorIndex = xlNone
Else
If CDate(Day(daDatum) & "." & Month(daDatum) & "." &
Year(Date)) = Date Then
' bei Übereinstimmung mit dem aktuellen Datum
Füllfarbe Grün
.Interior.ColorIndex = 4
' Vor- und Nachname auf die Variable schreiben
strNamen = strNamen & Cells(loZeile, 2) & " " &
Cells(loZeile, 8) & vbLf
Else
' bei Nichtübereinstimmung mit aktuellem Datum
Füllfarbe Gelb
.Interior.ColorIndex = 6
End If
End If
End With
' Zeilenvariable um 1 erhöhen
loZeile = loZeile + 1
Loop
Rem If strNamen <> "" Then
' es wurden Übereinstimmungen gefunden
Rem MsgBox strNamen, vbInformation, "Heute erwartete
Lieferungen:"
Rem Else
' es wurden keine Übereinstimmungen gefunden
Rem MsgBox "", vbExclamation, "Heute werden keine Lieferungen
erwartet!"
Rem End If
End Sub

Ganz komisch, setze ich das Datum 30.12.2012 ein, wird die Zeile auch
grün eingefàrbt, beim Einsetzen
31.12.2012 ist es wieder weiß.

Hat Excel 2010 generell ein Problem mit dem Datum 30.12.?

Ich habe erst seit ca. 2 Wochen Excel 2010, seither arbeitete ich mit
Excel 97 - 03, da hatte ich keine
Probleme.

Vielleicht kann mir jemand helfen.

Danke im Voraus

Tom
 

Lesen sie die antworten

#1 Michael Freischlad
30/12/2011 - 19:57 | Warnen spam
Hallo Tom,

Am 30.12.2011 11:49, schrieb Tom:

[...]
If CDate(Day(daDatum)& "."& Month(daDatum)& "."&
Year(Date)) + 50< Date Or _
CDate(Day(daDatum)& "."& Month(daDatum)& "."&
Year(Date))> Date Then
.Interior.ColorIndex = xlNone
Else
If CDate(Day(daDatum)& "."& Month(daDatum)& "."&
Year(Date)) = Date Then



Ist Dir eigentlich aufgefallen, dass Du beim "Zusammensetzen" des Datums
immer das aktuelle Jahr verwendest?

d.h. 30.12.2012 wird für den Vergleich in Deinem Makro (wenn es heute
ablàuft) das Datum zum 30.12.2011. Daher wird es grün eingefàrbt
(Übereinstimmung mit dem heutigen Datum).

Für eine leere Zelle gibt die Formel Day die Zahl 30 aus, die Formel
Month die Zahl 12 und somit erhàlst Du für eine leere Zelle das Datum
30.12.2011.

MF

Ähnliche fragen