看来这个问题也包含了正确的答案,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
offer是包含一些名称的字符串(是的,我希望同时具有相同名称的工作表和命名范围 - 至少现在)。
将有未知数量的那些,所以我只是循环for each
。
问:如何向RefersToR1C1
添加工作表信息,以便命名范围引用某个工作表? (我知道' Sheetname'!A1:A10语法,但如果可能的话,想要使用Sheet / Range / Cell对象)
答案 0 :(得分:1)
这是因为你没有完全限定你的范围,你需要明确:
With Sheets(offer)
Set rngTmp = .Range(.Cells(1, 1), .Cells(2, 2))
End With
细胞之前的点很重要。