excel - 如何使程序循环遍历选定文件夹的所有子文件夹?
问题描述
所以我在 Excel 中开发了(阅读:google -> 复制/粘贴)一个宏,用于将来自众多标准化 Excel 模板的数据编译到一个主文件中。目前,该程序可以遍历单个文件夹中的任意数量的文件,但我希望能够从该文件夹中选择一个级别,并在需要时让它遍历所有子文件夹,但仍然能够在单个文件夹中工作被选中。
打开文件后开始的代码都是在打开的文件上完成的。我还有一些行,但所有这些都在编译文件上运行,因此它不需要包含在文件循环部分中。
我曾尝试使用类似问题中给出的一些解决方案,但它从未对我正确运行。使用导致缺少 End if/with 错误。
'Selects template folder location for macro
Sub LoopThroughFiles()
Dim xFd As FileDialog
Dim xFdItem As Variant
Dim xFileName As String
Set xFd = Application.FileDialog(msoFileDialogFolderPicker)
If xFd.Show = -1 Then
xFdItem = xFd.SelectedItems(1) & Application.PathSeparator
xFileName = Dir(xFdItem & "*.xls*")
Do While xFileName <> ""
With Workbooks.Open(xFdItem & xFileName)
'Transfers data from template to master file
Worksheets("International").Activate
Range("A4:L4").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("Architecture Master Macro_Test.xlsm").Activate
'"Workbooks.Open "C:\ArchNonMacro.xlsx"
'Windows("ArchNonMacro.xlsx").Activate
Range("A1").Select
Selection.End(xlDown).Select
Selection.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.DisplayAlerts = False
Workbooks(xFileName).Close
End Sub
解决方案
推荐阅读
- cluster-computing - Ejabberd Clustor 文件上传不适用于一个节点到第二个节点
- android - 在全屏对话框顶部显示片段(alertDialog)
- python - 使用虚拟主机执行 python 脚本的 Apache
- swift - Swift:无法分配给属性:“reuseIdentifier”是一个只能获取的属性
- html - 尽管使用 displayWith 属性,但材料自动完成输入显示显示 [Object object]
- c++ - 将属性传递给基类的机制
- c# - 从 C# 中的动态 JSON 获取属性名称,然后在 foreach 循环中使用这些属性
- python - 块的 Python 类型提示
- flutter - 例外:类型“字符串”不是类型转换中“用户”类型的子类型
- postgresql - Postgres 12 - 如何减小 wal 目录的大小