CSV mit Datumsabfrage in den Daten
karl
mit nachfolgendem Code (gegoogelt) lese ich eine CSV Datei ein.(Kontodaten)
Könnte man beim einlesen diese Daten auf ein bestimmten Monat einschränken,
zb alle Daten von Monat Juli. Die Datumsangaben stehen in der CSV in Spalte B.
Und wenn dann bitte mit Code.
Vielen Dank für eure Hilfe
Karl
Private Sub CommandButton1_Click()
Dim wb As Workbook, wks As Worksheet, wbAktiv As Workbook, wksAktiv As Worksheet
Dim rngZelle As Range
Dim strVerzeichnis As String
Dim Dateiname As Variant, DateinameTXT As String
Dateiname = Application.GetOpenFilename(FileFilter:="CSV (*.csv), *.csv", _
Title:="CSV-Datei im Verzeichnis auswählen")
If Dateiname = False Then Exit Sub
strVerzeichnis = VBA.CurDir
Set wbAktiv = ActiveWorkbook
Set wksAktiv = ActiveSheet
Set rngZelle = wksAktiv.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
Dateiname = Dir(strVerzeichnis & Application.PathSeparator & "*.csv")
Application.ScreenUpdating = False
Do Until Dateiname = ""
'CSV-Datei temporär als txt-Datei kopieren
VBA.FileCopy Source:=Dateiname, Destination:=Left(Dateiname, Len(Dateiname) - 3) & "txt" _
_
_
_
DateinameTXT = Left(Dateiname, Len(Dateiname) - 3) & "txt"
'Umbenannte Kopie öffnen
Application.Workbooks.OpenText Filename:=DateinameTXT, Origin:=xlWindows, _
StartRow:=1, _
DataType:=xlDelimited, ConsecutiveDelimiter:=False, _
Tab:=False, _
Semicolon:=True, _
Comma:=False, _
Space:=False, _
Other:=False
Set wb = ActiveWorkbook
'Daten Kopieren
wb.Sheets(1).UsedRange.Copy
rngZelle.PasteSpecial Paste:=xlPasteValues
'Nächste Einfügezelle setzen
Set rngZelle = rngZelle.Offset(wb.Sheets(1).UsedRange.Rows.Count, 0)
wb.Close savechanges:=False
'TXT-Kopie wieder löschen
VBA.Kill (DateinameTXT)
Dateiname = Dir
Loop
Application.ScreenUpdating = True
End Sub