Anzeige
Archiv - Navigation
1632to1636
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
Inhaltsverzeichnis

Datumsvergleich VBA

Datumsvergleich VBA
07.07.2018 18:17:52
Daniel
Hallo zusammen,
ich habe eine Frage:
Ich baue gerade eine "Exceldatenbank" auf in der es einfach darum geht Bauteile ( z.b. Feuerlöscher) zu überprüfen.
Die Datenbasis habe ich über VBA erstellt mit Spalten wie "zuletzt geprüft am" dann gebe ich ein "Intervall" vor und rechne das auf das Prüfdatum drauf um das "neue Prüfdatum" zu bekommen. Das funktioniert auch alles soweit.
Was ich jetzt erreichen möchte ist Folgendes:
Ich plane eine Druckvorschau auf der, wieder das Beispiel Feuerlöscher, alle Feuerlöscher deren "Neues Prüfdatum" kleiner ist als das "heutige Datum" angezeigt werden.
Ich will die Datensätze einfach auf ein anderes Tabellblatt kopieren welches ich dann via Druckvorschau anzeigen lasse. Alles soweit kein Problem, nur der Datumsvergleich funktioniert nicht, VBA geht nicht in die Schleife rein....
Private Sub cmd_200_drucken_Click()
Dim lngzeile As Long, lngDruckzeile As Long
lngzeile = 2
lngDruckzeile = 2
Do Until Tabelle1.Cells(lngzeile, 2) = ""
MsgBox Date & " " & " " & Tabelle1.Cells(lngzeile, 9) 'Test zur Anzeige für mich
If Tabelle1.Cells(lngzeile, 9) 

Ich bringe das Datum wie folgt in die Tabelle1:
Sub UP_FL_Eintragen(lngzeile As Long)
'die Abfangroutine hab ich jetzt rausgelassen
With Me
Tabelle1.Cells(lngzeile, 1) = "FL- " & Mid(lngzeile, 1, 3)
Tabelle1.Cells(lngzeile, 2) = .cbo_200_H
Tabelle1.Cells(lngzeile, 3) = .cbo_200_LM
Tabelle1.Cells(lngzeile, 4) = .cbo_200_Gg
Tabelle1.Cells(lngzeile, 5) = .txt_200_INFO
Tabelle1.Cells(lngzeile, 6) = .cbo_200_Halle
Tabelle1.Cells(lngzeile, 7) = Format((Me.txt_200_Pdatum), "dd.mm.yyyy")
Tabelle1.Cells(lngzeile, 8) = .cbo_200_Intervall
Tabelle1.Cells(lngzeile, 9) = Format((Me.lbl_200_NDatum), "dd.mm.yyyy")
End With
End If
End Sub
und so rechne ich das Intervall aus
Private Sub cbo_200_Intervall_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim str_Intervall As String
Dim str_PDatum As String
str_Intervall = 0
str_PDatum = Me.txt_200_Pdatum
str_Intervall = Me.cbo_200_Intervall
mDateAdd = DateAdd("m", str_Intervall, str_PDatum)
Me.lbl_200_NDatum = Format((mDateAdd), "dd.mm.yyyy")
End Sub

Hat jemand Rat was ich falsch mache?
DAnke vorab.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datumsvergleich VBA
07.07.2018 18:22:27
Sepp
Hallo Daniel,
warum nicht einfach Autofilter auf der entsprechenden Spalte?
 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Datumsvergleich VBA
07.07.2018 18:33:03
Daniel
Wenn ich nur ein Tabelleblatt hätte wäre das OK, ich habe insgesamt 25 Blätter und möchte es via VBA lösen, damit mir keiner an der Datenbasis rumpfuscht.
AW: Datumsvergleich VBA
07.07.2018 18:42:09
Sepp
Hallo Daniel,
mit
Tabelle1.Cells(lngzeile, 7) = Format((Me.txt_200_Pdatum), "dd.mm.yyyy")
schreibst du Text in die Zelle aber kein Datum!
If IsDate(Me.txt_200_Pdatum) Then Tabelle1.Cells(lngzeile, 7) = CDate(Me.txt_200_Pdatum)
und die Zellen entsprechend formatieren.
Das selbe gilt für die zweite Datumsspalte.
 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Datumsvergleich VBA
08.07.2018 12:18:54
Daniel
Hi Sepp,
danke für die Hilfe, habe es ein wenig abgewandelt. Ich definiere um Unterprogramm die Variablen.
Dim str_letzte As String
Dim str_next As String
str_letzte = Me.txt_200_Pdatum
str_next = Me.lbl_200_NDatum
Im Unterprogramm übertrage ich das Datum dann mit der Cdate Funktion
Tabelle1.Cells(lngzeile, 7) = CDate(str_letzte)
Tabelle1.Cells(lngzeile, 8) = .cbo_200_Intervall
Tabelle1.Cells(lngzeile, 9) = CDate(str_next)
wenn ich nun den Tabellenwert mit dem heutigen Datum vergleiche, funktioniert es einwandfrei vorrausgesetzt die Spalten sind als Datum formatiert.
Danke.
mfg
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige