Excel VBA - 循环遍历多个文件夹中的文件,复制范围,粘贴到此工作簿中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Excel VBA - 循环遍历多个文件夹中的文件,复制范围,粘贴到此工作簿中相关的知识,希望对你有一定的参考价值。

我有28个电子表格,都在不同的文件夹中。每个电子表格都有一个平面列表,我需要将其整合到一个文档中,并每4周更新一次。我正在努力探讨如何编写满足以下要求的代码;

  1. 我想在多个文件中循环一个特定的工作表(“TRIM加载数据新”),所有文件都有不同的路径(不能将它们放在一个文件夹中)
  2. 复制此范围“计划负载”
  3. 将所有文件中的所有数据粘贴到活动工作簿的第一个工作表中
  4. 下次我这样做时,我希望覆盖和替换数据

提前致谢

答案

将源文件夹和文件列表作为电子表格中单元格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文件并将列复制到主文件中[关闭]

Excel VBA 函数循环遍历范围并测量多个相关性

VBA编程,遍历文件夹下的excel表,对每个excel表遍历做一些操作

Access VBA:导入多个文件时添加“文件名”字段

在 VBA 循环中保存 excel 文件

循环遍历指定文件夹中的所有 excel 文件,并从特定单元格中提取数据的代码