我是VBA新手。我正在處理一個需要從另一個位於不同文件夾中的文件複製數據的文件。如何使用VBA將數據從一個excel文件複製到另一個文件夾中的另一個文件?
Folder 1 --> Main File---> Dashboard
到Folder 2 --> Calculations---> Master File
現在宏被從「儀表板」工作表執行,數據將被從「主文件」中複製和「儀表盤」到被粘貼。
我嘗試了幾個代碼,但他們沒有幫助。
請幫我一把。
我是VBA新手。我正在處理一個需要從另一個位於不同文件夾中的文件複製數據的文件。如何使用VBA將數據從一個excel文件複製到另一個文件夾中的另一個文件?
Folder 1 --> Main File---> Dashboard
到Folder 2 --> Calculations---> Master File
現在宏被從「儀表板」工作表執行,數據將被從「主文件」中複製和「儀表盤」到被粘貼。
我嘗試了幾個代碼,但他們沒有幫助。
請幫我一把。
這是我使用的通用拷貝值宏,希望能夠讓你走上正確的道路。
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
但是當我執行代碼時,它說workbook1已經打開。我正在執行Workbook1中的代碼。我無法再打開它的VBA代碼 – user3459157
嘗試編輯... –
[如何問一個很好的問題(http://stackoverflow.com/help/how-to-ask )。發佈(編輯你的OP,添加到最後)你已經嘗試了什麼,並指出它到底在哪,失敗了。 – FreeMan