Excel VBA - 循环遍历多个文件夹中的文件,复制范围,粘贴到此工作簿中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Excel VBA - 循环遍历多个文件夹中的文件,复制范围,粘贴到此工作簿中相关的知识,希望对你有一定的参考价值。
我有28个电子表格,都在不同的文件夹中。每个电子表格都有一个平面列表,我需要将其整合到一个文档中,并每4周更新一次。我正在努力探讨如何编写满足以下要求的代码;
- 我想在多个文件中循环一个特定的工作表(“TRIM加载数据新”),所有文件都有不同的路径(不能将它们放在一个文件夹中)
- 复制此范围“计划负载”
- 将所有文件中的所有数据粘贴到活动工作簿的第一个工作表中
- 下次我这样做时,我希望覆盖和替换数据
提前致谢
答案
将源文件夹和文件列表作为电子表格中单元格A列中的路径 - 可能是当前打开文件中的第二个?然后你的代码应该:
Sub Example
'set a pointer to A1 in second page
Dim r as range
set r = thisworkbook.worksheets(2).range("a1")
'loop down column A until you reach an empty cell
do until r = ""
'for each cell, open the workbook identified,
dim wb as workbook
set wb = workbooks.open(r,False,True) 'open workbooks, don't update links, read only
'grab your range
dim source as range
set source = wb.worksheets("TRIMP Load Data NEW").Range("Planned Load")
'copy it to your target at the next blank row
source.copy 'copy data
thisworkbook.sheets(1).range("a" & rows.count).end(xlup).offset(1,0).pastespecial xlpastevalues 'paste values
Application.cutcopymode = false 'prevent prompt after paste
'and close the source file
wb.close false
'move down to next row in your list
set r = r.offset(1,0)
'and ...
loop
end sub
以上是关于Excel VBA - 循环遍历多个文件夹中的文件,复制范围,粘贴到此工作簿中的主要内容,如果未能解决你的问题,请参考以下文章
VBA:循环遍历各种Excel文件并将列复制到主文件中[关闭]