2015-04-28 452 views
-1

我是VBA新手。我正在處理一個需要從另一個位於不同文件夾中的文件複製數據的文件。如何使用VBA將數據從一個excel文件複製到另一個文件夾中的另一個文件?

Folder 1 --> Main File---> DashboardFolder 2 --> Calculations---> Master File

現在宏被從「儀表板」工作表執行,數據將被從「主文件」中複製和「儀表盤」到被粘貼。

我嘗試了幾個代碼,但他們沒有幫助。

請幫我一把。

+2

[如何問一個很好的問題(http://stackoverflow.com/help/how-to-ask )。發佈(編輯你的OP,添加到最後)你已經嘗試了什麼,並指出它到底在哪,失敗了。 – FreeMan

回答

0

這是我使用的通用拷貝值宏,希望能夠讓你走上正確的道路。

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 
+0

但是當我執行代碼時,它說workbook1已經打開。我正在執行Workbook1中的代碼。我無法再打開它的VBA代碼 – user3459157

+0

嘗試編輯... –

相關問題