更改工作表的CodeName

 

        在Excel VBA中看到有朋友经常使用Code来判断一个工作表的状态,原因可能是因为Code这个 属性所带来的。因为在微软的说明 文档中CodenName 属性运行时不可更改,是一个只读 属性。此属性在运行时真的不可以更改吗? 其实可以找一个变通方法,我找了半天,发现工作表的CodeName应该就是工作表在VBE工程中所在部件的名称,那么我们就可以通过修改此名称来达到修改工作表的CodeName的目的;
[注:要使用此过程请事先点击 工具  菜单--> --> 安全性 ,在弹出的 安全性 对话框的 可靠发行商标签 中钩选 信任对“vb项目”的访问]
Sub  ChangCodename()
    
Dim  S  As   String
    
MsgBox   " CodeName为: "   &  ActiveSheet.CodeName
    S 
=  Application.InputBox( " 请输入新的CodeName: " " CodeName " )
    
If  S  =   ""   Then   MsgBox   " 没有输入名称 " Exit Sub
    
On   Error   GoTo  handler
    ThisWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).Name 
=  S
    
MsgBox   " CodeName已经修改为: "   &  ActiveSheet.CodeName
    
Exit Sub
handler:
    
Select   Case  Err.Number
        
Case   50132
            
MsgBox   " 输入名称有误 "
        
Case   1004
            
MsgBox   " 未信任到VB工程的访问,请在信任选项中钩选到VB工程的访问 "
        
Case   Else
            
MsgBox  Err.Number  &  Err.Description
    
End   Select
End Sub

转载于:https://www.cnblogs.com/wangminbai/archive/2008/03/22/1118123.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值