如何使用VBA将数据从一个excel文件复制到不同文件夹中的另一个文件?

如何使用VBA将数据从一个excel文件复制到不同文件夹中的另一个文件?,excel,vba,Excel,Vba,我是VBA新手。我正在处理一个文件,该文件需要从位于不同文件夹中的另一个文件复制数据 文件夹1-->主文件-->仪表板至文件夹2-->计算-->主文件 现在,宏将从“仪表板”工作表执行,数据将从“主文件”复制并粘贴到“仪表板”中 我尝试了一些代码,但都没用 请帮帮我。这是我使用的一个通用复制值宏,希望它能让您走上正确的道路 Sub TransferData() 'transfer stuff from workbook 1 to workbook 2 Dim strPath1 As S

我是VBA新手。我正在处理一个文件,该文件需要从位于不同文件夹中的另一个文件复制数据

文件夹1-->主文件-->仪表板
文件夹2-->计算-->主文件

现在,宏将从“仪表板”工作表执行,数据将从“主文件”复制并粘贴到“仪表板”中

我尝试了一些代码,但都没用


请帮帮我。

这是我使用的一个通用复制值宏,希望它能让您走上正确的道路

Sub TransferData()
'transfer stuff from workbook 1 to workbook 2

    Dim strPath1 As String
    Dim strPath2 As String
    Dim wbkWorkbook1 As Workbook
    Dim wbkWorkbook2 As Workbook

    'define paths and filenames
    strPath1 = "C:\take from this.xlsx"
    strPath2 = "C:\put in this.xlsx"

    'open files
    Set wbkWorkbook1 = Workbooks.Open(strPath1)
    Set wbkWorkbook2 = Workbooks.Open(strPath2)

    'copy the values across
    wbkWorkbook2.Worksheets("Sheet1").Range("A1:B3").Value = _
        wbkWorkbook1.Worksheets("Sheet1").Range("A1:B3").Value

    'close the two workbooks
    wbkWorkbook1.Close (False)
    wbkWorkbook2.Close (True)

End Sub
编辑

由于您将工作簿1设置为运行vba的工作簿,因此在上面的示例中,您将收到错误,因为工作簿1确实已打开

尝试以下代码将数据值从“此工作簿”传输到工作簿2:

Sub TransferDataV2()
'transfer stuff from this workbook to workbook 2

    Dim strPath2 As String
    Dim wbkWorkbook1 As Workbook
    Dim wbkWorkbook2 As Workbook

    'define paths and filenames
    strPath2 = "C:\put in this.xlsx"

    'open files
    Set wbkWorkbook1 = ThisWorkbook '### changed this
    Set wbkWorkbook2 = Workbooks.Open(strPath2)

    'copy the values across
    '### change the sheet and range to what you need
    wbkWorkbook2.Worksheets("Sheet2").Range("A1:B3").Value = _
        wbkWorkbook1.Worksheets("Sheet1").Range("A1:B3").Value

    'close the workbook
    wbkWorkbook2.Close (True)

End Sub

. 发布(编辑您的OP,添加到末尾)您尝试的内容,并指出失败的具体位置。但当我执行代码时,它显示workbook1已打开。我正在执行Workbook1中的代码。我无法在VBA代码中再次打开它