Sub Limonet()
Dim Arr As Variant, Fs$, i%, Cn As Object, StrSQL$
Set Cn = CreateObject("Adodb.Connection")
Cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & ThisWorkbook.FullName
Fs = "F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12,Null,F14,F15,F16,F17,F18,F19,F20,F21,F22,F23,F24,F25,F26,F27,F28,F29,F30,F31,F32,F33,F34,F35,F36,F37,F38,F39,F40,F41,F42,F43,F44,F45,F46,F47,F48,F49,F50,F51,F52,F53,F54,F55,F56,F57,F58,F59,F60,F61,F62,F63,F64,F65,F66,F67,F68"
Arr = Split(CreateObject("WScript.Shell").Exec("Powershell get-childitem " & ThisWorkbook.Path & " -recurse -file *.xlsx | select fullname").StdOut.ReadAll, Chr(13) & Chr(10))
For i = 3 To UBound(Arr) - 3
StrSQL = StrSQL & " Union All Select " & Fs & " From [Excel 12.0;Hdr=No;DataBase=" & Arr(i) & "].[Audit Log QA list$A2:BP] Where F1>0"
Next i
Range("A4").CopyFromRecordset Cn.Execute(Mid(StrSQL, 12))
End Sub
|