Daten vergleichen in VBA oder Visual Basic für Applikationen , ist im Wesentlichen der gleiche Vorgang wie den Vergleich Zahlen. Um den Vergleich Daten einfacher und vereinfachen das Arbeiten mit Daten in der Regel verwenden Variablennamen, die eine Typs "Datum" geben . Schreiben Sie zum Beispiel " dat1 " oder " Geburtstag1 . " Um zu verstehen , wie man Daten vergleichen , schreiben kurze Programme, die aktuelle Vergleiche durchzuführen , und verwenden Sie den Schritt -für-Schritt -Modus Ausführung des VBA -Programmierumgebung , zusammen mit der Umgebung des "Quick Watch "-Fenster , um diese Vergleiche in Echtzeit zu beobachten . Bestimmen Typ
Sie brauchen nicht , um Daten an den "Date" Typ konvertieren für Vergleiche , wenn sie bereits in dieser Art sind . Sie können feststellen, ob eine Variable ist ein Typ Datum in ein paar Möglichkeiten . Schauen Sie sich die Erklärungen Abschnitt am Anfang einer VBA-Prozedur . Dieser Abschnitt ist , wo Sie alle Variablen zu deklarieren , indem Sie die " Dim " Schlüsselwort. Wunschtermin Variablen werden mit Aussagen wie diese deklariert werden: " . Dim d1 als Date" Ein anderer Weg, Ihnen zu sagen, wenn Ihr Variable ist ein "Date" -Typ ist, indem man Zuweisungen an eine Variable. Diese Aufgaben werden mit dem Zeichen "#" , die das "Date" -Typ bezeichnet . Zum Beispiel Die folgende Anweisung weist das Datum " 12.1.2001 " zum " Date" variable "D1 ".
D1 = # 12/1/2001 #
Convert to Type
Datum um das Datum in VBA zu vergleichen, müssen Sie zunächst zwei Termine , die in der "Date" -Typ, der eine von mehreren Werttypen in VBA ist gespeichert haben . Die Typs "Datum" ist eine spezielle Instanz der Integer-Datentyp , so dass der Vergleich Terminen ist im Wesentlichen die gleiche wie vergleicht Zahlen. Wenn Sie Ihre Daten noch nicht in der "Date" -Typ , werden Sie brauchen, um sie auf diese Art zu konvertieren. Tun Sie das , indem Sie die Funktion CDate . Zum Beispiel die folgende Anweisung , um die Zeichenfolge " 12/1/2001 " auf ein Datum Typ konvertieren :
D1 = CDate ( " 12.1.2001 " )
der Vergleich
Wenn Sie testen, ob das Datum in einem "Date" Variable auftritt, bevor eine andere möchten, verwenden Sie den weniger -als-Zeichen , wie das folgende Beispiel zeigt.
< p > Falls (d1 < d2)
verwenden Sie das größer- als-Zeichen , um zu testen , ob ein Datum später eintritt als ein anderes Datum , und verwenden Sie das Gleichheitszeichen zu sehen, ob die Werte in zwei Variablen auf denselben Stichtag beziehen .
Beispielprogramm
schreiben Probe Programm, vergleicht und wandelt Daten , so dass Sie das Programm beziehen kann beim Schreiben komplexer VBA -Programme durchführen Datum Vergleiche. Öffnen Sie die Programmierumgebung in einem der Office-Anwendungen , indem Sie auf der Registerkarte "Entwicklertools" der " Visual Basic "-Taste , dann fügen Sie das folgende Programm in der Umgebung der zentralen Fenster . Dieses Programm verwendet die " CDate "-Funktion , um Daten in Strings zu konvertieren, und führt drei verschiedene Vergleiche an zwei Terminen . Führen Sie das Programm mit der Taste " F5 ", und zeigen Sie die Ausgabe durch einen Blick in den "Sofort" -Fenster.
Public Sub CompareDates ()
Dim d1 , d2 As Date
< p > d1 = CDate ( " 12.1.2001 " )
d2 = CDate ( " 2002.12.01 " )
Falls (d1 < d2 ) Then Debug.Print "aufgenommen 1 tritt früher als Datum 2 ".
Falls (d1 > d2 ) Then Debug.Print " Date 1 erfolgt spätestens 2 Tag . "
Falls ( d1 = d2) Dann Debug. Print "Date 1 ist die gleiche wie seit 2 . "
End Sub