ich habe folgendes Problem und ich hoffe Ihr könnt mir dabei helfen es zu lösen. Ich bin noch ein Anfänger auf dem Gebiet der VBA und taste mich langsam an die Thematik heran. Das Thema Datum und Zeit ist schon oft in Foren diskutiert worden, jedoch fand ich keine Lösung für mein Problem:
Ich habe in der Spalte A Datum und in der Spalte B Zeitangaben bis ca. Zeile 15.000 (Screenshoot).
Nun sollen alle Zeilen gelöscht werden die Außerhalb des eingegebenen Datums und Zeitbereichs liegen.
Für die Eingrenzung des Datumsbereichs funktioniert folgende Prozedur hervorragend.
Sub DatumEingrenzen()
Dim dateFrom As Date
Dim dateTo As Date
Dim timeFrom As Date
Dim timeTo As Date
Dim i As Long
Dim wksData As Worksheet
Dim wksEingabe As Worksheet
Set wksEingabe = ActiveWorkbook.Worksheets("Tabelle1")
Set wksData = ActiveWorkbook.Worksheets("Tabelle2")
dateFrom = wksEingabe.Range("B16") 'Datumsgrenzen eingeben
dateTo = wksEingabe.Range("D16")
timeFrom = wsEingabe.Range"B13") 'Zeitgrenzen eingeben
timeTo = wsEingabe.Range("D13")
For i = wksData.Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If wksData.Cells(i, 1) dateTo Then
wksData.Rows(i).Delete shift:=x1Up
End If
Next i
Set wsEingabe = Nothing
Set wsData = Nothing
End Sub
Jetzt (wie in der Prozedur schon angedeutet) soll noch der Zeitfaktor hinzukommen. Wenn jetzt bspw. In den Zeilen des Datumsbereiches B8 und D8 15.04.17 und 24.04.17 und in den Zellen des Zeitbereiches B13 und D13 11:00 Uhr und 15:00 Uhr eingegeben wird, sollen alle Zellen außerhalb dieses Datums und Zeitbereichs gelöscht werden.
Als Zusatz:
In einer neuen bzw. anderen Prozedur sollen zusätzlich die Zeilen gelöscht werden, die sich innerhalb des Datumsbereichs finden aber außerhalb des Zeitbereichs. Sprich, im Gegensatz zur ersten Problembeschreibung würde man bspw. die Datumsangabe 17.04.17 mit der Uhrzeit 15:01 Uhr nicht wiederfinden, da sie gelöscht ist.
Ich hoffe Ihr könnt mir weiterhelfen und freue mich auf eure Lösungsvorschläge.
Vielen Dank.
Mit freundlichen Grüßen
Frank