我正在使用
Worksheets("Named_ranges").Range("A1").ListNames
在Named_ranges
工作表中编写命名范围列表,但结果类似于
is_pp4 = Checklist!$D$28
为了显示=Checklist!$D$28
的内容,我需要按F2然后按Enter键。我已经尝试搜索并替换其他答案中建议的= with =它在从Excel界面执行时有效,但必须使用VBA脚本自动完成,并且从那里搜索和替换方法无法解决问题。 “计算”选项设置为“自动”。
答案 0 :(得分:0)
这应该按照你的描述进行:
With Worksheets("Named_ranges").Range("A1")
.ListNames
.CurrentRegion.Numberformat = "General"
.CurrentRegion.Replace "=", "=", xlPart
End With
编辑:我认为ListNames
可能存在时间问题,因此循环可能更好:
Dim n As Long
Dim arrData()
With ActiveWorkbook.Names
ReDim arrData(1 To .Count, 1 To 2)
For n = 1 To .Count
arrData(n, 1) = .Item(n).Name
arrData(n, 2) = .Item(n).RefersTo
Next n
End With
Worksheets("Named_ranges").Range("A1").Resize(UBound(arrData, 1), 2).Value = arrData