通过遍历所有工作表

时间:2017-12-15 13:41:06

标签: excel vba excel-vba

这是对所有VBA国王的请求。鉴于你的VBA知识,我很有希望你能够帮助我。我会尽可能清楚地解释我的问题。

背景:有1个源文件' (每天用新数据作为批处理过程的一部分覆盖)具有静态文件名。还有1个主文件'。在这个主文件中,前三个(但这可能会在将来扩展)工作表是摘要表,它将显示主文件的表4 - 表N(最后一页)中的数据的选定表/图表。

目标:将源文件中每张工作表中的所有数据复制到主文件中的已定义(可能是名称)工作表中。这意味着主文件中的表4到表N将被新数据覆盖。然后,主文件中的表1-3(摘要表)中的引用应自动更新表/图。

下面是对步骤的描述(我认为):

'打开主文件
'运行宏(按钮)

宏:
'开源文件
'选择所有单元格表1并复制
'返回主文件并粘贴表4中的选择 '重复此操作直到源文件中的最后一个工作表 '保存源文件并关闭
'保存主文件

从它的外观来看,它似乎不是一个困难的宏,但我是相当的菜鸟。另外,您认为这是实现目标的好方法,还是有其他更有效/稳定的方式?

如果有什么不清楚请告诉我,我会尽力澄清。

1 个答案:

答案 0 :(得分:1)

'Open sourcefile
     set wb =  Workbooks(sourcefile).open
'Select all cells sheet 1 and copy,'Go back to masterfile and paste selection in sheet 4
       for each ws in wb.worksheets
          ws.usedrange.copy thisworkbook.worksheets(ws.index+3).range("a1")
'Repeat this till the last sheet in the sourcefile 
          next ws
'Save sourcefile and close
        wb.close true
'Save masterfile
         thisworkbook.save