Wie kann ich einen Monat mit CSV-Dateien (Datumsangabe) über VBA in Excel importieren?

Ich muss einen Monat lang CSV-Dateien zur Analyse über VBA in Excel laden. Jeder Tag des Monats ist eine separate Datei mit dem Datumsnamen (JJJJMMTT).

Derzeit kann ich zwei Dateien laden, die unter zwei verschiedenen Umständen erstellt wurden: A und B mit

With ActiveSheet.QueryTables.Add(Connection:=Full_F_Name_A, _
                                 Destination:=Range("$H$4"))

Ich benutze eine Schleife, um A und B (und das Ziel) zu ändern. Ich habe nicht herausgefunden, wie ich das Datum erhöhen soll. Ich benutze ein Eingabefeld, um das Datum der ersten Datei im Monat zu erhalten.

F_Name = InputBox("Enter name of first data file eg YYYYMMDD, target=H4, EG4")

Jede Hilfe wäre toll, da ich feststecke ... und ein Anfänger.

OK OK, siehe VBA-Code unten. Empfangener Laufzeitfehler '3001' Argumente sind vom falschen Typ, liegen außerhalb des zulässigen Bereichs oder stehen in Konflikt miteinander. Der Debugger zeigt auf die Zeile ".cursorlocation = aduseclient". Möglicherweise fehlt auf meinem PC eine Software. Das Intro-Video auf der ADO-Website existiert nicht mehr, daher habe ich das Intro nicht gesehen. Ich versuche es auf die andere Art und Weise, indem ich nur die Dateien öffne und sie in Excel abspeichere, während ich auf weitere Ratschläge warte.

Sub Month_wdata_import()

Set cN = CreateObject("ADODB.Connection")
Set rS = CreateObject("ADODB.Recordset")

Dim sDate As String
Dim sDataPath As String
Dim i As Integer
Dim  mMax As Integer

sDataPath = Worksheets("D&L").Cells(1, "G").Value ' values located in 2nd sheet of workbook
mMax = Worksheets("D&L").Cells(1, "D").Value  'values located in 2nd sheet of workbook

For i = 1 To mMax
    sDate = "A_" + CStr(Worksheets("D&L").Cells(1 + i, "A").Value) ' looping through list of dates in sheet

    With cN
     .cursorlocation = aduseclient
     .CursorType = adopenstatic
     .LockType = adLockreadonly

       .Open ("Provider=Microsoft.Jet.OLEDB.4.0;" & _
       "Data Source=" & sDataPath & ";" & _
       "Extended Properties=""text; HDR=Yes; FMT=Delimited; IMEX=1;""")
    End With

    With rS
      .ActiveConnection = cN
      .Source = "select * from data_" & sDate & "_.csv"
      .Open
    End With

Next

Range("A1").CopyFromRecordset rS

End Sub

Antworten auf die Frage(2)

Ihre Antwort auf die Frage