我是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