打开并复制/粘贴名为file

时间:2016-05-11 08:19:04

标签: excel vba excel-vba

我有以下vba代码打开一个文件夹,我用某些名称保存Excel文件(“11.xlsm和”2.xlsm“)然后自动打开这些文件并复制他们的表格”数据“和将它粘贴到我的masterworkbook“makrotochange”。

 ChDir _
    "Z:\1000_Entwicklung\05_PROJECT\0558000_CFT\055800L_CFT_Projektleitung\99_Arbeitsordner PL\Tanverdi, Yigit\SAA"
Workbooks.Open Filename:= _
    "Z:\1000_Entwicklung\05_PROJECT\0558000_CFT\055800L_CFT_Projektleitung\99_Arbeitsordner PL\Tanverdi, Yigit\SAA\11.xlsm"
Workbooks.Open Filename:= _
    "Z:\1000_Entwicklung\05_PROJECT\0558000_CFT\055800L_CFT_Projektleitung\99_Arbeitsordner PL\Tanverdi, Yigit\SAA\2.xlsm"
Windows("makrotochange.xlsm").Activate



 Windows("11.xlsm").Activate
sheets("data").Select

sheets("data").Move After:=Workbooks("makrotochange.xlsm").sheets(23)

Windows("2.xlsm").Activate

sheets("data").Select
sheets("data").Move After:=Workbooks("makrotochange.xlsm").sheets(24)

我希望能够在

中打开任意数量的变量命名文件
"Z:\1000_Entwicklung\05_PROJECT\0558000_CFT\055800L_CFT_Projektleitung\99_Arbeitsordner PL\Tanverdi, Yigit\SAA"

并将其复制/粘贴到我的“makrotochange.xlsm”masterworkbook。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

未经测试,因为我目前无法使用Excel。但是,使用您提供的信息和@Mrig提供的链接,我相信这可能是您正在寻找的基础。

    Sub LoopThroughFiles()
Dim StrFile As String
Dim WB As Workbook
Dim InputFilePath As String
InputFilePath = "Z:\1000_Entwicklung\05_PROJECT\0558000_CFT\055800L_CFT_Projektleitung\99_Arbeitsordner PL\Tanverdi, Yigit\SAA\"
StrFile = Dir(InputFilePath & "*")

Do While Len(StrFile) > 0
        Set WB = Workbooks.Open(InputFilePath & StrFile)
        WB.Activate
            Sheets("data").Select
            Sheets("data").Move After:=Workbooks("makrotochange.xlsm").Sheets(23)
            StrFile = Dir()
    Loop
    End Sub
EDITED

现在编辑了我能够使用Excel的代码。

这将获取文件夹中的所有文件,打开它们,复制“数据”表,然后将其移至makrotochange.xlsm文件中的表23之后。

虽然有几点兴趣。 您需要确保makrotochange.xlsm文件一开始就打开。 您需要确保所有文件都有一个名为“数据”的工作表。 它们将在第23页之后粘贴。因此,要粘贴的最后一个文件将是第23页旁边的文件。

玩得开心