修改sheet1工作表名称_excel引用其他工作表数据

修改sheet1工作表名称_excel引用其他工作表数据在Excel中修改工作表名称有什么可讲的,在工作表标签上点右键,选择重命名就可以了,恭喜你答对了一半

在Excel中修改工作表名称有什么可讲的,在工作表标签上点右键,选择重命名就可以了,恭喜你答对了一半。
修改sheet1工作表名称_excel引用其他工作表数据

另一半呢?除了这个名称外,工作表还有另外一个名称——CodeName,想修改这个名字就没那么简单了。一个工作表竟然有两个名字,这不是添乱吗!?
先看看CodeName在哪里,既然叫做CodeName,肯定和Coding相关了,打开VBE窗口。
修改sheet1工作表名称_excel引用其他工作表数据

工作表名称 工作表CodeName
ShtName Sheet1
MySht Sheet2
Sheet3 Sheet3

默认情况下,Excel创建的工作表,其名称和CodeName是一致的,如截图中的Sheet3,为了方便使用,大家经常会修改工作表名称,这时其CodeName并不改变,如截图中的另外两个工作表。
在VBE的属性窗口中第一栏“(名称)”是工作表的CodeName,大家可以在这个地方修改它;“Name”栏是Excel界面中看到的工作表名称。如何在代码中修改CodeName该如何处理呢?

Sub ChangeCodeName()
    Const SHT_NAME = "MySht"
    Dim strNewCodeName As String
    Dim strOldCodeName As String
    strOldCodeName = Sheets(SHT_NAME).CodeName
    On Error Resume Next
    ' DEMO1
    strNewCodeName = "Sheet1"
    ThisWorkbook.VBProject.VBComponents(strOldCodeName).Name = strNewCodeName
    If Err = 0 Then
        MsgBox "你要指定的CodeName已经存在", , "DEMO 1"
    Else
        MsgBox "指定的CodeName(" & strNewCodeName & ")已经存在", , "DEMO 1"
    End If
    ' DEMO2
    Err.Clear
    strNewCodeName = "SheetNew"
    ThisWorkbook.VBProject.VBComponents(strOldCodeName).Name = strNewCodeName
    If Err = 0 Then
        MsgBox "工作表(" & SHT_NAME & ")的CodeName改为:" & strNewCodeName, , "DEMO 2"
    Else
        MsgBox "指定的CodeName(" & strNewCodeName & ")已经存在", , "DEMO 2"
    End If
End Sub

此时,需要借助VBProject.VBComponents来处理,如果该CodeName已经存在,将产生运行时错误。运行代码,结果如下:

修改sheet1工作表名称_excel引用其他工作表数据

今天的文章修改sheet1工作表名称_excel引用其他工作表数据分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/82747.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注