【发布时间】:2017-10-13 16:49:41
【问题描述】:
如果有任何帮助,我将不胜感激!我正在尝试找出正确的代码,以便动态地从文件夹 "2017"(如下所示)中提取。在此文件夹中有许多 Excel 工作簿。 vba 从那里复制一系列单元格并将其粘贴到原始工作簿中。到目前为止,代码是非常手动的,每当我尝试切换文件夹来源时,我都必须在代码中手动更改它。
有人可以帮助我将代码编辑为动态吗?例如:我希望实现的是,如果文件夹的名称在单元格 A1 中。然后 vba 代码将打开文件夹并从单元格 A1 中的任何名称中提取工作簿。
如果我可以提供任何其他信息,请告诉我!
提前感谢您!
Sub ArrDepMerge2017()
Dim bookList As Workbook
Dim mergeObj As Object, dirObj As Object, filesObj As Object, everyObj As Object
Dim c As Long
Set mergeObj = CreateObject("Scripting.FileSystemObject")
Set dirObj = mergeObj.Getfolder("2017")
Set filesObj = dirObj.Files
For Each everyObj In filesObj
Set bookList = Workbooks.Open(everyObj)
c = c + 1
bookList.Sheets(1).Range("F37:F53").Copy ThisWorkbook.Worksheets("2017 Data").Cells(1, c)
bookList.Close
End Sub
【问题讨论】:
-
你试过
Set dirObj = mergeObj.Getfolder(Range("A1").value2)