无法找到对尝试将注解分配给命名范围时收到的“1004”运行时错误的答案。我试图从一个名为范围的电子表格中的列表创建。在电子表格中,我在3列中提供了“名称”,“范围”,“注解”,其中“名称”和“注解”是字符串,“范围”是一个公式,通常包含OFFSET。
Sample
Sub FromListCreateNamedRanges()
Dim wks As Worksheet
Dim i As Long
Set wks = ThisWorkbook.Worksheets("Settings")
For i = 2 To LastRow2(wks, 5)
CreateNamedRanges wks.Cells(i, 5), wks.Cells(i, 6).Formula, wks.Cells(i, 7)
Next
End Sub
Sub CreateNamedRanges(str_rngname As String, var_formula As Variant, Optional str_comment As String)
ThisWorkbook.Names.Add Name:=str_rngname, RefersTo:=var_formula
ThisWorkbook.Names(str_rngname).Comment = str_comment
End Sub
LastRow2是确定给定列的最后一行的用户函数。一切工作都不使用
ThisWorkbook.Names(str_rngname).Comment = str_comment
在上面的行中,我收到一条错误消息。我将感谢您的帮助、建议和想法。
1条答案
按热度按时间hmae6n7t1#
修改命名范围上的注解时的这种奇怪行为是由.RefersTo中的公式触发的
当公式过于复杂时,当您尝试修改注解时会抛出运行时错误,但当您尝试修改引用时不会抛出运行时错误
一个简单的解决方法是
1.在.RefersTo属性中放置临时简单引用
1.根据需要修改.comment属性
1.将永久复杂引用放入.RefersTo属性中