【问题标题】:Copy and Paste from one workbook into multiple CSV workbooks in a folder从一个工作簿复制并粘贴到文件夹中的多个 CSV 工作簿中
【发布时间】:2017-12-02 14:35:28
【问题描述】:

我正在尝试从空白工作簿创建一个宏,并且另一个工作簿已经打开,标题为“数据处理-提取工作簿”,它将打开指定文件夹中的所有 .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

谢谢

【问题讨论】:

    标签: excel csv vba


    【解决方案1】:

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

    Windows("=wkb").Activate
    

    wkb.Activate
    

    【讨论】:

      猜你喜欢
      • 2013-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-08
      • 1970-01-01
      相关资源
      最近更新 更多