从一个工作簿复制并粘贴到文件夹中的多个CSV工作簿

时间:2017-12-02 14:35:28

标签: excel excel-vba csv vba

我正在尝试从空白工作簿中创建一个宏,并且已经打开了另一个工作簿,标题为“数据处理 - 提取工作簿”#34;这将打开指定文件夹中的所有.csv文件并运行宏。我遇到的问题是宏的一部分是从"数据处理 - 提取工作簿"复制大量数据。并将其粘贴到将运行宏的.csv文件中。我遇到的问题是将复制的数据恢复到运行宏的文件中。它似乎与" Windows有关(Mypath& MyFile).Activate"一部分。我已经尝试了几种不同的方法来引用当前打开的.CSV文件,但似乎无法弄明白。任何帮助,将不胜感激。

Sub OpenFiles()
    Dim wbk As Workbook
    Dim MyPath As String
    Dim MyFile As String

    'Open Files

    MyPath = "C:generic folder"
    MyFile = Dir(MyPath & "*.csv")
    Do While MyFile <> ""
        Set wkb = Workbooks.Open(MyPath & MyFile)
        'Run Macro on CSV files
        'Copy data from template workbook
        Windows("Data process-extract workbook.xlsb").Activate
        Application.Goto Reference:="R1C1:R4000C1"
        Selection.Copy

        'need to figure out how to paste into whatever .csv workbook is currently having the macro run in'
        Windows("=wkb").Activate
        Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
            , SkipBlanks:=False, Transpose:=False
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False

        ActiveWorkbook.Close True

        MyFile = Dir

    Loop
End Sub

感谢

1 个答案:

答案 0 :(得分:0)

最简单的解决方案是使用您指定的工作簿对象作为CSV文件的引用,即更改

Windows("=wkb").Activate

wkb.Activate