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

问题描述 投票:-2回答:1

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

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

提前致谢

excel vba excel-vba
1个回答
0
投票

将源文件夹和文件列表作为电子表格中单元格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
© www.soinside.com 2019 - 2024. All rights reserved.