You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过指定单元格动态引用Excel Named Range的VBA实现方法

解决方案

直接将原代码里的固定命名区域名称替换为单元格引用即可,修改后的完整代码示例如下:

Dim nr As Name
Dim wb As Workbook
' 按需指定目标工作簿,比如当前代码所在工作簿用ThisWorkbook,激活状态的用ActiveWorkbook
Set wb = ThisWorkbook

' 从「Data」工作表E1单元格读取命名区域的名称
Dim targetRangeName As String
targetRangeName = wb.Worksheets("Data").Range("E1").Value

' 通过读取到的名称获取对应的命名区域
Set nr = wb.Names.Item(targetRangeName)

额外建议

为避免E1单元格为空、名称拼写错误或命名区域不存在导致报错,可添加简单的错误处理逻辑:

On Error Resume Next
Set nr = wb.Names.Item(targetRangeName)
On Error GoTo 0

If nr Is Nothing Then
    MsgBox "未找到名为" & targetRangeName & "的命名区域,请检查E1单元格内容", vbExclamation
End If

内容的提问来源于stack exchange,提问作者ZM85

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 17:50:29