Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA:将不同工作簿中的某些工作表合并到一个工作簿中_Excel_Vba_Worksheet - Fatal编程技术网

Excel VBA:将不同工作簿中的某些工作表合并到一个工作簿中

Excel VBA:将不同工作簿中的某些工作表合并到一个工作簿中,excel,vba,worksheet,Excel,Vba,Worksheet,我遇到了一个我无法解决的问题。这是: 我想复制某些工作簿中包含的某些工作表,并将其全部粘贴到一个新工作簿中 更具体地说,我有一个名为«Fonds»的文件夹,其中包含20本工作簿,每本都具有相同的结构: 它们都称为«01082014_FONDS»,01082014为每个工作簿更改,并且是一个月中的一天。 在每本工作手册中,都有一份工作表,名为“投资组合”,另一份工作表名为“Disponibilités”。我想复制这两个工作表(还有其他工作表,但我只想复制这些工作表),并将其粘贴到新工作簿中 A最后

我遇到了一个我无法解决的问题。这是:

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

更具体地说,我有一个名为«Fonds»的文件夹,其中包含20本工作簿,每本都具有相同的结构: 它们都称为«01082014_FONDS»,01082014为每个工作簿更改,并且是一个月中的一天。 在每本工作手册中,都有一份工作表,名为“投资组合”,另一份工作表名为“Disponibilités”。我想复制这两个工作表(还有其他工作表,但我只想复制这些工作表),并将其粘贴到新工作簿中

A最后,我在一本工作手册中有40张工作表,分别称为«投资组合1»、«Disponibilités 1»、«投资组合2»、«Disponibilités 2»

有人能帮我吗?
多谢各位

您需要在VBA中执行以下操作:

  • 循环浏览文件夹中的文件
  • 查找文件名中是否有单词“Fonds”:
  • 打开找到的工作簿:
    Set wb=Workbooks.Open(filename)
  • 循环浏览工作簿中的工作表:
  • 查找工作表名称中是否有“Portfolio”或“Disponibilités”一词:
  • 重命名找到的工作表:
  • 将工作表复制到当前工作簿:
  • 关闭工作簿:
    wb.Close SaveChanges:=false

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

    第一点:

    函数s()

    设置路径。 MyName=Dir(MyPath)'检索第一个条目。 在MyName“”启动循环时执行此操作。 调用MsgBox(MyName) MyName=Dir()'获取下一个条目。 环
    结束函数

    您有任何现有代码吗?没有,因为我真的不知道如何开始这个。。。
    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