2016-12-12 93 views
-4

請耐心等待,我仍然在學習VBA,只需要一點幫助。在工作簿之間複製和粘貼VBA

我想將數據從一個工作簿複製到另一個工作簿,即使在那裏我已經找到很多答案,我無法去 瞭解代碼是相當複雜的。我希望如果有人能夠幫助我使用一個很容易閱讀和理解的基本代碼。

我目前正在尋找將3個不同工作簿中的所有數據複製並粘貼到3個工作表的1個工作簿中。

比如我有3個工作簿稱爲

AA BB CC

我想所有的數據(僅值),從這些工作簿複製並粘貼然後到工作簿稱爲

主要

但我希望從AA.to的數據進入主工作表1和 但我希望來自BB的數據進入主工作表2和 但我想從CC的數據進入主工作表3

我希望我已經正確地解釋了這個問題,我感謝任何幫助。

+2

這不是一個免費的編碼網站;你到目前爲止做了什麼? – PartyHatPanda

回答

0

因爲您沒有提供任何代碼,所以這應該足以讓您開始。您需要編輯並修復此問題以滿足您的需求。

Sub test() 
    Dim Wb1 As Workbook, Wb2 As WorkBook, Wb3 As Workbook 
    Dim MainBook As Workbook 

    'Open All workbooks first: 
    Set Wb1 = Workbooks.Open(" path to copying book ") 
    Set Wb2 = Workbooks.Open(" path to copying book ") 
    Set Wb3 = Workbooks.Open(" path to copying book ") 
    Set MainBook = Workbooks.Open(" path to destination book ") 

    'Now, copy what you want from wb1: 
    wb1.Sheets("Sheet1").Cells.Copy 
    'Now, paste to Main worksheet: 
    MainBook.Sheets("Sheet1").Range("A1").PasteSpecial 

    'Now, copy what you want from wb2: 
    wb2.Sheets("Sheet1").Cells.Copy 
    'Now, paste to Main worksheet: 
    MainBook.Sheets("Sheet2").Range("A1").PasteSpecial 

    'Now, copy what you want from wb3: 
    wb3.Sheets("Sheet1").Cells.Copy 
    'Now, paste to Main worksheet: 
    MainBook.Sheets("Sheet3").Range("A1").PasteSpecial 

    'Close Wb's: 
    Wb1.Close 
    Wb2.Close 
    Wb3.Close 
    MainBook.Save 
    MainBook.Close 

End Sub 
+0

嗨布蘭登,非常感謝您的快速回復。我只有2個問題。添加此代碼時是否將其添加到主工作簿,還是必須將它添加到所有3?第二個問題,當我每次運行這個宏時,所有4個工作簿都需要打開? –

+0

@ShahMiah您可以在第三方非相關工作簿中使用此功能,或者消除MainBook的打開和關閉標籤並將MainBook設置爲ActiveWorkbook。然後你可以把代碼放在MainBook中。至於你的第二個問題,set方法會打開這些工作簿,所以你除了執行代碼之外不需要做任何事情。 – Brad

+0

感謝布蘭頓 我曾嘗試用下面的,但我得到一個錯誤400 下面的代碼是我添加 –

相關問題