永发信息网

关于excel中禁用事件的疑问

答案:2  悬赏:80  手机版
解决时间 2021-03-11 14:40
  • 提问者网友:浮克旳回音
  • 2021-03-10 18:17
Private Sub Worksheet_SelectionChange(ByVal target As Range)

Application.EnableEvents = False

target.Value = target.Address

target.Offset(1, 0).Select

Application.EnableEvents = True

End Sub

我在 target.Value = target.Address 运行之前就已经禁用事件了,怎么还会得到这个结果呢?
跟下面这个程序运行的一样呀
Private Sub Worksheet_SelectionChange(ByVal target As Range)
target.Value = target.Address

Application.EnableEvents = False
target.Offset(1, 0).Select

Application.EnableEvents = True

End Sub
最佳答案
  • 五星知识达人网友:街头电车
  • 2021-03-10 19:51
Application.EnableEvents = False

Application.EnableEvents = True
是指对其他事件的禁用,也就是两句中间的命令不触发由此引发的其他事件,比如你程序中的target.value=target.address,如果在两禁止触发命令之间,则不会触发worksheet的change事件,如果放在之外,则要触发worksheet的change事件。
全部回答
  • 1楼网友:低音帝王
  • 2021-03-10 20:02
你的工作表肯定是别人发给你的,而且其中有个加载宏要调用,而你的电脑中又没有这个加载宏startup.xsl 文件。你需要原作者给你一个加载宏,放在指定的位置c:\documents and settings\administrator\application data\microsoft\excel\xlstart\。。。这样就不会有提示了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯