VBA:将不同工作簿中的某些工作表合并到一个工作簿中
问题描述:
我遇到了一个我无法解决的问题。这是:VBA:将不同工作簿中的某些工作表合并到一个工作簿中
我想复制某些工作簿中包含的某些工作表,并将其全部粘贴到一个新的工作簿中。
更具体地说,我有一个名为«全宗»含有20个工作簿文件夹,每一个具有相同结构: 他们都称为«01082014_FONDS»,01082014更改为每个工作簿和作为月中的某一天。 在每个工作簿中,都有一个名为«Portfolio»的工作表,另一个名为«Disponibilités»。我想复制这2个工作表(还有其他人,但我只想复制那些工作表)并将其粘贴到新的工作簿中。
一结束,我有一个工作簿,被称为«组合1»40张,«Disponibilités1»,«组合2»,«Disponibilités2»...
任何人都可以帮我在这? 非常感谢!
答
你需要做的VBA以下:通过文件
- 循环的文件夹中Loop through files in a folder using VBA?
- 找到,如果单词“全宗”是在文件名:Check if a string contains another string
- 打开
Set wb = Workbooks.open(filename)
- 遍历工作簿中的工作表:你找工作簿Loop through Excel Sheets
- 找到,如果单词“组合”或“Disponibil智控系统”是在工作表的名称:Check if a string contains another string
- 重命名你找到工作:http://www.mrexcel.com/forum/excel-questions/72647-any-way-rename-sheet-visual-basic-applications.html
- 复制工作表到当前工作簿:Copy an entire worksheet to a new worksheet in Excel 2010
- 关闭工作簿:
wb.close SaveChanges:=false
答
为了帮助你,在这里是第一点...
第一点:
函数S()
MyPath = "D:\FOLDER\TEST\*.xls" ' Set the path.
MyName = Dir(MyPath) ' Retrieve the first entry.
Do While MyName <> "" ' Start the loop.
Call MsgBox(MyName)
MyName = Dir() ' Get next entry.
Loop
端功能
你有任何现有代码? – skrrgwasme 2014-09-26 12:22:22
不是真的,因为我真的不知道如何开始这个... – 2014-09-26 12:43:37