excel在VBA脚本

时间:2015-11-06 08:50:42

标签: excel excel-vba vba

我正在使用

Worksheets("Named_ranges").Range("A1").ListNames

Named_ranges工作表中编写命名范围列表,但结果类似于

is_pp4 = Checklist!$D$28 

为了显示=Checklist!$D$28的内容,我需要按F2然后按Enter键。我已经尝试搜索并替换其他答案中建议的= with =它在从Excel界面执行时有效,但必须使用VBA脚本自动完成,并且从那里搜索和替换方法无法解决问题。 “计算”选项设置为“自动”。

1 个答案:

答案 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