1. 如何用vba遍歷文件夾裡面的子文件並且復制指定數據形成一張新的表格,ps:子文件的數據格式一直
嘗試用下邊代碼試試:
Sub OpenAndClose()
Dim MyFile As String
Dim s As String
Dim count As Integer
MyFile = Dir(文件夾目錄 & "*.xlsx")
'讀入文件夾中的第一個.xlsx文件
count = count + 1 '記錄文件的個數
s = s & count & "、" & MyFile
Do While MyFile <> ""
MyFile = Dir '第二次讀入的時候不用寫參數
If MyFile = "" Then
Exit Do '當MyFile為空的時候就說明已經遍歷完了,這時退出Do,否則還要運行一遍
End If
count = count + 1
If count Mod 2 <> 1 Then
s = s & vbTab & count & "、" & MyFile
Else
s = s & vbCrLf & count & "、" & MyFile
End If
Loop
Debug.Print s
End Sub
另外,可以考慮用python試試
2. VBA中怎麼遍歷所選路徑中所有文件夾及其子文件夾(多個子文件),並返回所有的最底層的文件夾路徑
答:執行"獲取所有文件夾",按提示操作。文件夾清單會顯示在工作表的AB列中。
Sub獲取所有文件夾()
DimDirectoryAsString
WithApplication.FileDialog(msoFileDialogFolderPicker)
.InitialFileName=Application.DefaultFilePath&""
.Title="請選擇一個文件夾"
.Show
If.SelectedItems.Count=0Then
ExitSub
Else
Directory=.SelectedItems(1)
EndIf
EndWith
Cells.ClearContents
CallRecursiveDir(Directory)
EndSub
PublicSubRecursiveDir(ByValCurrDirAsString)
DimDirs()AsString
DimNumDirsAsLong
DimFilesizeAsDouble
DimTotalFolders,SingleFolder
Cells(1,1)="目錄名"
Cells(1,2)="日期/時間"
Range("A1:B1").Font.Bold=True
SetTotalFolders=CreateObject("Scripting.FileSystemObject").GetFolder(CurrDir).SubFolders
Cells(WorksheetFunction.CountA(Range("A:A"))+1,1)=CurrDir
Cells(WorksheetFunction.CountA(Range("B:B"))+1,2)=FileDateTime(CurrDir)
IfTotalFolders.Count<>0Then
ReDimPreserveDirs(0ToNumDirs)AsString
Dirs(NumDirs)=SingleFolder
NumDirs=NumDirs+1
Next
EndIf
Fori=0ToNumDirs-1
RecursiveDirDirs(i)
Nexti
EndSub
3. 在vba中使用什麼函數可以實現遍歷文件夾和文件的需求,並得到指定路徑下的文件
可參考截圖的代碼試試。
vb對文件夾、及文件的訪問
4. EXCEL VBA 遍歷所有文件夾和子文件夾的文件中指定單元格中的數據,匯總到一張工作表中,
把需要遍歷的所有路徑,寫到一個excel表裡不就行了,每次從這個表裡調用路徑去遍歷。或者dir /b /s *.xls*>d:\1.txt,把這個1.txt內容讀入表或數組,遍歷這個就行了。
5. 如何用excel vba按關鍵字選擇性的遍歷文件夾搜索文件
Excel怎樣批量亂漏判提取文件夾和子文件夾嘩改所有文件
怎樣批量提取文件夾下搜舉文件名6. 如何用VBA遍歷指定文件夾內的所有文件
用dir函數加上循環即可。比如將D:ABC文件夾內的所有文件顯示到A列,代碼如下:
Sub遍歷所有文件()
DimFn$,N%
Fn=Dir("D:ABC*.*")
WhileFn<>""
N=N+1
Range("A"&N)=Fn
Fn=Dir
Wend
EndSub