这个问题似乎也包含了正确的答案,Excel因为一些不可思议的原因不会正确执行它。所以问题改变了一点:
为什么是1004年?
基本上我想用这样的东西(这给我1004):
Dim rngTmp As Range
For Each offer In SanitizedConstInfo("offers").keys()
Set rngTmp = Sheets(offer).Range(Cells(1, 1), Cells(2, 2))
ActiveWorkbook.Names.add name:=offer, RefersToR1C1:=rngTmp
ActiveWorkbook.Names(offer).RefersToRange.Cells(1, 1) = offer
Next offer
要约是字符串包含一些名称(是的,我想有两个表和命名范围具有相同的名称-至少现在)。会有未知的数目,所以我只循环for each
。
Q:如何在RefersToR1C1
中添加板材信息,使命名范围指某一板材?(我知道"Sheetname"!A1:A10语法,但如果可能的话,想要使用工作表/区域/单元格对象)
这是因为你没有完全限定你的范围,你需要明确:
With Sheets(offer)
Set rngTmp = .Range(.Cells(1, 1), .Cells(2, 2))
End With
单元格前的点很重要