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

如何通过CodeName引用Excel工作表?

如何通过工作表的CodeName而非标签名引用工作表?

最简洁的直接引用方法(一行代码)

每个工作表的CodeName(在VBA编辑器「属性窗口」的(名称)栏设置)本身就是全局可直接调用的对象,无需通过Worksheets集合查找:

Set ws = Sheet1 ' 把Sheet1替换成你的目标工作表的CodeName

甚至可以直接用CodeName操作工作表,无需声明变量:

Sheet1.Range("A1").Value = "Hello" ' 直接通过CodeName操作单元格

动态通过CodeName字符串引用(适用于CodeName存于变量的场景)

如果你只有CodeName的字符串(比如从变量、单元格读取),可以通过VBA项目组件获取对应工作表对象,一行代码搞定:

Set ws = ThisWorkbook.VBProject.VBComponents("目标CodeName").Object

注意:使用此方法需在Excel选项中启用「信任对VBA项目对象模型的访问」(文件→选项→信任中心→信任中心设置→宏设置),否则会触发权限错误。

你之前代码的问题说明

  • ThisWorkbook.Worksheets("CodeName") 错误:Worksheets集合的参数仅接受工作表标签名或索引,不识别CodeName。
  • wsn = ActiveSheet.CodeName 正确:这段代码能获取当前活动工作表的CodeName字符串,但仅获取名称,并非引用工作表对象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 12:43:13