excel vba,为ADA合规性添加范围名称

excel vba,为ADA合规性添加范围名称,excel,vba,Excel,Vba,我正在尝试添加范围名称以使电子表格符合ADA。我试过下面的代码 ActiveWorkbook.Names.Add Name:="On_Draft_List_D", RefersToR1C1:=("Sheet1!R1C1:R" & LastRow - 35 & "C1") ActiveWorkbook.Names("On_Draft_List_D").Comment = "" 虽然条目确实出现在名称管理器中,但它不会出现在电子表格的“名称”框中。我的网络搜索一直不

我正在尝试添加范围名称以使电子表格符合ADA。我试过下面的代码

    ActiveWorkbook.Names.Add Name:="On_Draft_List_D", RefersToR1C1:=("Sheet1!R1C1:R" & LastRow - 35 & "C1")
    ActiveWorkbook.Names("On_Draft_List_D").Comment = ""

虽然条目确实出现在名称管理器中,但它不会出现在电子表格的“名称”框中。我的网络搜索一直不成功,希望有人能给我指出正确的方向。非常感谢您能给我的任何帮助。

我认为您的R1C1参考是无效的,这就是它不会显示的原因。我测试了你的代码,发现了同样的问题。明确设置范围,如下所示:

Dim cell As Range
Set cell = Range("A1:B3")
ActiveWorkbook.Names.Add Name:="On_Draft_List_D", RefersTo:=cell
ActiveWorkbook.Names("On_Draft_List_D").Comment = ""

效果更好。referesto参数可能更容易使用,通过将范围设置在.Add调用之外,您可以更轻松地选择正确的范围

,这样您说它不会出现在单元格名称所在的下拉菜单中?检查referestor1C1指的是正确的范围我设置R1C1引用,因为相同的代码运行在不同长度的多个工作表上。每一页的底部都有脚注,它们有自己的范围名称,这就是我使用LastRow-35的原因。我将尝试按照您的建议将范围设置为一个变量,然后回复您。您仍然可以使用LastRow-35部分,只需执行类似于
“A1:C”和(LastRow-35)
的操作,这将为您提供所需的范围,根据需要更改“a”、“C”和“1”无需担心,这是非常有用的小事情之一!如果你能接受这个答案,那就太好了:)