VBA Excel中只有一个sheet 不能触发Worksheet_Activate事件

Chen Qiqing 2009-09-02 01:50:12
我现在有个excel,但是只允许存在一个sheet1。需要在这个sheet的Worksheet_Activate中再创建一个隐藏的sheet2.但是我试了好久,都不能触发Worksheet_Activate这个事件,如果有两个或者两个以上的sheet存在,在sheet直接切换的时候会触发Worksheet_Activate事件,怎么解决呢?
...全文
1341 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用楼主 chenqiqing 的回复:]
我现在有个excel,但是只允许存在一个sheet1。需要在这个sheet的Worksheet_Activate中再创建一个隐藏的sheet2.但是我试了好久,都不能触发Worksheet_Activate这个事件,如果有两个或者两个以上的sheet存在,在sheet直接切换的时候会触发Worksheet_Activate事件,怎么解决呢?
[/Quote]
这样肯定不行啊,因为只有一个sheet默认就是激活的状态啊,这个事件不会被触发,所以不能生成新的sheet
两个表的的话,你点击sheet1则能够触发这个事件。

我不知道楼主做什么功能,能不能在auto_open下写worksheets.add是不是可以。
栖云居主人 2009-09-02
  • 打赏
  • 举报
回复
只有一个sheet1,并且没有隐藏的话,它始终都是activated的
试试看Auto_open里面用if ActiveSheet.Name="Sheet1" then试试看
firefox444 2009-09-02
  • 打赏
  • 举报
回复
因是一个工作表,涉及不到工作表激活,当然就不会引发Worksheet_Activate事件。
考虑用其它事件,或建立一个按钮,主动建立工作表。
可考虑用WORKSHEET_SELECTCHANGE()事件,或在工作表中加入一个按钮引用Worksheet_Activate事件。

5,172

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧