看来这个问题也包含正确的答案,由于某些深不可测的原因,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
。
Q:如何添加工作表信息RefersToR1C1
,让命名范围指向某个工作表?(我知道'Sheetname'!A1:A10 语法,但如果可能的话,我想用 Sheet/Range/Cell 对象来做到这一点)