我有一个需要在另一个工作表中创建命名范围的私有子。它需要保留一个工作表函数,因为它是一个Worksheet_Change子函数。我已经成功地使用此行将范围变量设置为等于另一张纸上的范围:
Set rng2 = Sheets("Lists").Range(Sheets("Lists").Cells(2, Col), Sheets("Lists").Cells(Unique, Col))
Run Code Online (Sandbox Code Playgroud)
但是,当我放入rng2代码的其他部分时,它只是指的是活动表中的正确范围。
这是我尝试过的:
ActiveWorkbook.Names.Add Name:="Level" & Col, RefersTo:= _
"= " & Sheets("Lists").Range(Sheets("Lists").Cells(2, Col), Sheets("Lists").Cells(Unique, Col)).Address & ""
Run Code Online (Sandbox Code Playgroud)
和:
ActiveWorkbook.Names.Add Name:="Level" & Col, RefersTo:= _
"=" & rng2.Address & ""
Run Code Online (Sandbox Code Playgroud)
当底部函数作为一个整体位于存储在工作簿中的模块内时,它起作用,但同样,在工作表子中不起作用。我也在Sheets("Lists").rng2.Address底层尝试中尝试过。