Datum vergleichen per VBA

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

Betrifft: Datum vergleichen per VBA
von: Franz W.
Geschrieben am: 17.02.2005 23:34:29
Hallo Fachleute,
kapier was nicht und komm nich t auf den Fehler, hier ein paar (hoffentlich genug) Codeschnipsel:

Dim rng As Range
If rng > Date Then
MsgBox rng & " > " & Date
End if

Damit kommt z.B. 01.01.2005 > 17.02.2005

Hab's auch schon mit verschiedenen anderen Schreibweisen versucht, wie:
If CDbl(rng) > CDbl(Date) Then
ändert aber auch nix.

Wie muss ich denn das bitte schreiben?

Vielen Dank für eure Hilfe im Voraus und Grüße
Franz

Bild

Betrifft: AW: Datum vergleichen per VBA
von: K.Rola
Geschrieben am: 17.02.2005 23:41:46
Hallo,
rng hat in deinem Schnipsel keinerlei Zuordnung?
Gruß K.Rola
Bild

Betrifft: AW: Datum vergleichen per VBA
von: Franz W:
Geschrieben am: 17.02.2005 23:48:33
Hallo K.Rola,
hier ein bisschen genauer:

Private Sub aktGeb()
Dim n As Integer
Dim rng As Range
Dim strText As String
Dim blnFound As Boolean
strText = Chr(13) & "Geburtstage in den nächsten 14 Tagen:" & vbLf & vbLf & "Datum" & _
      vbTab & vbTab & vbTab & "Name" & vbLf & vbLf
  For Each rng In Sheets("Daten").Range("AW4:AW1500")
    If IsDate(rng) Then
      If rng > Range("AW3") Then
    MsgBox rng & "  >  " & Date
      'If DateDiff("d", Date, DateSerial(Year(Date), _
              Month(rng), Day(rng)), vbMonday) < 14 Then
                  
        blnFound = True
        strText = strText & Format(rng, "ddd,") & vbTab & Format(rng, "dd.  mmmm") & vbTab & _
              rng.Offset(0, -45) & "  " & rng.Offset(0, -46) & "               " & vbLf
      'End If
      End If
    End If
  Next
  If blnFound Then
    MsgBox strText & vbLf & vbLf, 48, "       Anstehende Geburtstage"
  End If
End Sub


Die Datümer in der Spalte "AW" haben das Format "TT.MM.JJJJ"

Grüße
Franz
Bild

Betrifft: AW: Datum vergleichen per VBA
von: K.Rola
Geschrieben am: 18.02.2005 00:02:17
Hallo,
If CDate(rng) > CDate([AW3])
solte eigentlich klappen.
Gruß K.Rola
Bild

Betrifft: Ja!!
von: Franz W.
Geschrieben am: 18.02.2005 00:07:25
Hallo K.Rola,
ja, das geht, vielen Dank! Und jetzt geht auch
If CDate(rng) > CDate(Date)
obwohl ich damit vorher auch probiert habe, hab mich wohl irgnedwie vertippt.....
Nochmals danke und Grüße
Franz
Bild

Betrifft: AW: Datum vergleichen per VBA
von: PeterW
Geschrieben am: 17.02.2005 23:43:08
Hallo Franz,
was soll rng denn sein? So geht es ohne Probleme:

Sub Datumsvergleich()
   Dim rng As Range
   For Each rng In Range("A1:A50")
      If rng > Date Then
         MsgBox rng & " > " & Date
      End If
   Next
End Sub

Gruß
Peter
Bild

Betrifft: AW: Datum vergleichen per VBA
von: Franz W.
Geschrieben am: 17.02.2005 23:49:49
Hallo Peter,
genau so hab ich's, in meiner ANtwort an K.Rola hab ich den ganzen Code gepostet.
Danke und Grüße
Franz
Bild

Betrifft: AW: Datum vergleichen per VBA
von: PeterW
Geschrieben am: 17.02.2005 23:55:12
Hallo Franz,
auf welchem Blatt steht AW3?
Gruß
Peter
Bild

Betrifft: AW: Datum vergleichen per VBA
von: Franz W.
Geschrieben am: 17.02.2005 23:59:11
Hallo Peter,
im selben Blatt "Daten" = aktives Blatt, das "Sheets("Daten")." kann im Grunde raus, ist von vorher übriggeblieben.

Grüße
Franz
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Datum vergleichen per VBA"