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

VBA中如何移除工作簿名引用,使用ThisWorkbook调用命名区域?

VBA移除工作簿名称引用的解决方法

你用ThisWorkbook的思路完全正确,问题出在写法上,只要调整代码结构就能实现。

修改后的代码

ThisWorkbook.Range("Modelling_Labour_WBS").Copy

为什么这么写?

  • ThisWorkbook是VBA内置对象,专门指代当前宏代码所在的工作簿——不管你把工作簿重命名成什么,它都能精准指向正确文件,彻底摆脱硬编码的工作簿名称。
  • 原来代码里的Modelling_Labour_WBS是工作簿级命名区域,直接放在Range()里,再用ThisWorkbook限定范围,效果和原来的跨工作簿引用一致,但更灵活可靠。

新手额外提醒

如果Modelling_Labour_WBS是工作表级命名区域(仅属于某个特定工作表),可以加上工作表名称限定避免歧义:

ThisWorkbook.Worksheets("你的工作表名称").Range("Modelling_Labour_WBS").Copy

你可以通过Excel顶部菜单栏的「公式」→「名称管理器」,查看这个命名区域的归属(工作簿级还是工作表级)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 07:45:04