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

EXCEL VBA 选择Named Range命名范围引用单元格位置的实现问题

你之前的写法报错是因为ThisWorkbook.Names("Root")返回的是Name对象,不是Range对象,无法直接调用Select方法,需要先通过RefersToRange属性获取该名称对应的单元格范围对象。

正确写法

  1. 选中整个命名范围对应的全部单元格
ThisWorkbook.Names("Root").RefersToRange.Select
  1. 仅选中命名范围的第一个单元格(和你示例的Range("AU8").Select效果一致)
ThisWorkbook.Names("Root").RefersToRange.Cells(1, 1).Select

注意事项

如果命名范围所在的工作表不是当前激活的工作表,直接调用Select会触发报错,建议使用更稳妥的完整写法:

Dim targetRng As Range
' 获取命名范围对应的单元格对象
Set targetRng = ThisWorkbook.Names("Root").RefersToRange
' 先激活范围所属的工作表
targetRng.Parent.Activate
' 选中目标范围,若只需第一个单元格可改为 targetRng.Cells(1,1).Select
targetRng.Select

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 18:54:02