宏将数据从一个文件夹中的多个文件中的特定工作表复制到统一文件

时间:2012-08-01 13:38:42

标签: excel vba excel-vba

我是Excel宏的新手。

我有一个包含许多files.lets的文件夹,表示A,B,C

他们都有一个名为Summary的工作表。

我想要一个名为Summary

的新文件

迭代每个文件并将摘要工作表复制到摘要文件中的单独工作表中。

摘要文件将有3张名为A,B,C的表格,每张都有自己的摘要

1 个答案:

答案 0 :(得分:1)

首先,您需要一个文件列表。您可以使用另一个电子表格来保存列表,也可以按如下方式扫描目录:

Set fso = CreateObject("Scripting.FileSystemObject")
Set fld = fso.GetFolder("C:\temp")
s = ""
For Each fil In fld.Files
   s = s & fil.Name & vbCrLf 'a sample of doing something with each fil
   'here you can open each workbook using Application.Workbooks.Open

   'then, or later, if you like you can close the ones you opened
   'by remembering which workbooks were opened before you started.
Next

- 请参阅:http://msdn.microsoft.com/en-us/library/aa242702%28v=vs.60%29

接下来,您需要创建一个新工作簿,可以使用

完成
Set newWkb = Application.Workbooks.Add()

- 请参阅:http://msdn.microsoft.com/en-us/library/ff840478.aspx

现在,您可以使用上述海报所描述的技术将工作表从一个工作簿复制到新工作簿。

供参考,这里有一些关于VBA语言的好信息。查看语言参考下的各种函数,对象和方法等:http://msdn.microsoft.com/en-us/library/aa242702%28v=vs.60%29

这里有一些关于Excel对象模型的好信息:http://msdn.microsoft.com/en-us/library/ff194068