Jak mogę zaimportować miesiąc plików csv (nazwanych dat) do programu Excel za pośrednictwem VBA?

Muszę załadować miesiąc plików CSV do programu Excel do analizy za pomocą VBA. Każdy dzień miesiąca jest oddzielnym plikiem z nazwą daty (RRRRMMDD).

Obecnie mogę załadować dwa pliki utworzone za pomocą dwóch różnych okoliczności, używając A i B.

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

Używam pętli, aby zmienić A i B (i miejsce docelowe). Nie wiem, jak zwiększyć datę. Używam pola wprowadzania, aby uzyskać datę pierwszego pliku w miesiącu.

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

Każda pomoc byłaby świetna, ponieważ utknąłem ... i początkujący.

OK OK, zobacz poniższy kod VBA. Otrzymany błąd czasu wykonywania „3001” Argumenty są niewłaściwego typu, są poza dopuszczalnym zakresem lub są ze sobą w konflikcie. Debugger wskazuje linię „.cursorlocation = aduseclient”. Być może brakuje jakiegoś oprogramowania na moim komputerze. Film wprowadzający na stronie internetowej ADO już nie istnieje, więc nie widziałem wstępu. Spróbuję w inny sposób, jaki znam, po prostu otwierając pliki i wrzucając je do Excela, podczas gdy czekam na dalsze porady.

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

questionAnswers(2)

yourAnswerToTheQuestion