我将一些值从一个工作簿导入到另一个工作簿。
我想通过遍历目标工作簿中的命名范围来执行此操作,并使用完全相似的名称复制源工作簿中的那些命名范围。要复制的相关名称在目标工作簿的名为“名称”的工作表中列出。
实际的命名范围位于一个名为TargetSheet的工作表中(我为许多单个单元格提供了一个名称)。
我知道如何将一个命名范围从一个工作簿复制到另一个工作簿,当键入它时,它会起作用:
ThisWorkbook.Sheets(“ TargetSheet”)。Range(“ TagName”)= _ Workbooks(“ Source”)。Sheets(“ SourceSheet”)。Range(“ TagName”)。
但是,即使我在字符串中包括了引号,我也无法设法从所有相关的命名范围中复制值。
For i = 2 To 8
For j = 1 To 6
CurrentName = """" & ThisWorkbook.Sheets("Names").Cells(i, j) & """"
ThisWorkbook.Sheets("Target").Range(CurrentName) = _
Workbooks("Source").Sheets("SourceSheet").Range(CurrentName)
Next j
Next i
上面的代码给出了错误消息“应用程序定义的错误或对象定义的错误”,而我希望大约42个单元格能够获取更新的值。
答案 0 :(得分:0)
您应该有一个变量,该变量会带来您要更新的目标表,然后使用
例如:
ra.CurrentDb.OpenRecordset("root_table")
re.CurrentDb.OpenRecordset("target_table")
然后处理所有代码,执行以下操作更新目标表:
re.AddNew
re.Update
答案 1 :(得分:0)
Method 2
Copy the data
Sheets("Sheet1").Range("A1:B10").Copy
Activate the destination worksheet
Sheets("Sheet2").Activate
Select the target range
Range("E1").Select
Paste in the target destination
ActiveSheet.Paste
这可以帮助您..就像我对excel所说的不是xpert ..但总有一个开始