VBA中引用WorkSheet的新方法

最近学到一招,效果不错~

在写VBA中常需要引用某个WorkSheet对象,一般通过工作表名

    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Sheet2Name")

或者索引号

    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets(2)

来引用。但这样做有一个不好的地方,就是如果工作表改名或者工作簿有删除、插入动作,以上引用可能会失效。但使用Code Name在上面两种情况下都会一直有效(在VBA里一张工作表对象显示为Sheet2(Sheet2Name),Code Name即为"Sheet2”,可通过属性窗口修改为有意义的字串):

    Dim ws As Worksheet
    Set ws = Sheet2

而且在写法上也更简单。

但有一个缺点,跨工作表时这种方法就无效了。

关于, »
  • VBA中的Date类型的匹配问题 VBA的Date类型比较奇怪。 测试: 1. 新建一个空白的Excel文档,在A1单元格输入2009-11-12。 2. 打开VBA编辑器,插入模块,增加下面这个宏 Sub test() MsgBo...
  • 为Excel自定义函数添加帮助信息 函数列表界面显示选中函数的说明信息 效果图: 实现方式: Application.MacroOptions(Macro:="UDFtest"...
  • Oracle:存取器不是参数存取器或列值被截断 最近写一个vba程序的时候不间歇的出现 “存取器不是参数存取器 ”或者“列值被截断”的错误。后来发现对于我等不专业人士,遇到这样的错误还挺e...
  • VB中后台打开Excel文件 某些时候需要打开Excel文件来获取或者写入数据,但又不希望跳出打开的Excel文件窗口,可以用下面的代码: Dim eb As New excel.Application, wb as excel.Workbo...
  • 自动保存Outlook邮件的附件 在工作中定期或不定期会收到一些数据文件,然后要将它们的附件保存到自己的电脑上,下面演示如何让Outlook自动做这件事情。 首先,下面的SaveAttach...
  • 动态修改Excel数据表的数据来源 Excel有一个很有用的功能是直接导入外部数据库或者使用外部数据源建立数据透视表和数据透视图。但比较可惜的是,这个数据源的查询语句是静态的...
(Required)
(Required, not published)

  B | I | U | D | 添加链接 | 插入引用 | 插入代码 | 插入表情 | | + | ?
guest | 注册 | BBS | 管理 | English | 繁體 | https

阅微堂

zhiqiang's personal blog
Loading...
Loading...
Loading...