我正在尝试使用以下代码从旧版本创建新的范围名称:
Dim Range1 As Range
Set Range1 = ActiveWorkbook.Sheets("SheetName").Range("OldRangeName")
ActiveWorkbook.Names.Add Name:="NewRangeName", RefersTo:=Range1
源范围(“OldRangeName”)定义为:
=OFFSET('SheetName'!$B$3,0,0,COUNTA('SheetName'!$B:$B)-2,1)
但是上面的代码导致NewRangeEnds的定义不是上面的= OFFSET,而是定义了= OFFSET导致的范围。
例如,新范围可能是:
='SheetName'!$B$3:$B$40
如何将新范围设为an = OFFSET公式,如源。
答案 0 :(得分:0)
将RefersTo:=Range1
更改为RefersTo:=Range1.RefersTo
但是只有将范围更改为名称时才会有效:
Dim Name1 As Name
Set Name1 = ActiveWorkbook.Names("OldRangeName")
ActiveWorkbook.Names.Add Name:="NewRangeName", RefersTo:=Name1.RefersTo