我想使用VBA将命名范围从一个工作簿复制到另一个工作簿。
有三个文件:
MACRO_PLACED.XLSM<<<<宏在这里
SOURCE_DATA.XLSX<<<<数据在这里
DESTINATION_DATA.XLSX<<<<要在此处复制的数据
最初,只打开第一个文件,其他两个文件保持关闭状态。
source_data工作簿有多个工作表,destination_data工作簿与source_data具有相同的结构。在这两个文件中,Sheet1上都有一个命名范围,例如,如果数据位于" A1:C20"我将该范围命名为" RESULT"
如何使用第一个文件中的VBA函数将该特定命名范围复制到目标文件?
答案 0 :(得分:1)
如果我们想要将范围从一个地方复制到另一个地方,我们可以使用:
r1.Copy r2
现在我们需要的是一个允许执行此行的框架:
Sub KopyPaste()
Dim r1 As Range, r2 As Range, w1 As Workbook, w2 As Workbook
Set w2 = Workbooks.Open(Filename:="C:\TestFolder\DESTINATION_DATA.xlsx")
Set w1 = Workbooks.Open(Filename:="C:\TestFolder\SOURCE_DATA.xlsx")
Set r1 = Range("RESULT")
sheetname = r1.Parent.Name
addy = r1.Address
Set r2 = w2.Sheets(sheetname).Range(addy)
r1.Copy r2
End Sub
此时,您可以根据需要选择保存目的地。