2014-09-26 73 views
-1

我遇到了一个我无法解决的问题。这是:VBA:将不同工作簿中的某些工作表合并到一个工作簿中

我想复制某些工作簿中包含的某些工作表,并将其全部粘贴到一个新的工作簿中。

更具体地说,我有一个名为«全宗»含有20个工作簿文件夹,每一个具有相同结构: 他们都称为«01082014_FONDS»,01082014更改为每个工作簿和作为月中的某一天。 在每个工作簿中,都有一个名为«Portfolio»的工作表,另一个名为«Disponibilités»。我想复制这2个工作表(还有其他人,但我只想复制那些工作表)并将其粘贴到新的工作簿中。

一结束,我有一个工作簿,被称为«组合1»40张,«Disponibilités1»,«组合2»,«Disponibilités2»...

任何人都可以帮我在这? 非常感谢!

+0

你有任何现有代码? – skrrgwasme 2014-09-26 12:22:22

+0

不是真的,因为我真的不知道如何开始这个... – 2014-09-26 12:43:37

回答

1

你需要做的VBA以下:通过文件

  1. 循环的文件夹中Loop through files in a folder using VBA?
  2. 找到,如果单词“全宗”是在文件名:Check if a string contains another string
  3. 打开Set wb = Workbooks.open(filename)
  4. 遍历工作簿中的工作表:你找工作簿Loop through Excel Sheets
  5. 找到,如果单词“组合”或“Disponibil智控系统”是在工作表的名称:Check if a string contains another string
  6. 重命名你找到工作:http://www.mrexcel.com/forum/excel-questions/72647-any-way-rename-sheet-visual-basic-applications.html
  7. 复制工作表到当前工作簿:Copy an entire worksheet to a new worksheet in Excel 2010
  8. 关闭工作簿:wb.close SaveChanges:=false
0

为了帮助你,在这里是第一点...

第一点:

函数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 

端功能

相关问题