VBA 为什么有时候不触发change事件??

我在change事件的开头,写了个msgbox,但是我修改单元格后,没有弹出这个消息,证明没触发change事件,这是为什么?我发现是因为在selection_chang... 我在change事件的开头,写了个msgbox,但是我修改单元格后,没有弹出这个消息,证明没触发change事件,这是为什么?
我发现是因为在selection_change中用了Application.EnableEvents = False,但是我在selection_change末尾也写了Application.EnableEvents = True啊。为什么还会导致不触发change事件呢???
展开
 我来答
阳光上的桥
2014-07-22 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
onchange要控件失去焦点的时候才触发,如果你需要随时触发,可以考虑使用onkeypress等事件
追问
这个调用貌似太频繁了……
有淳隋新林
2019-12-28 · TA获得超过3736个赞
知道大有可为答主
回答量:3160
采纳率:33%
帮助的人:215万
展开全部
chang事件是值变成条件满足的值后才触发,也就是说,只有当一个单元格的值为"a",然后确定后,才触发事件,
而selectionchange,是在选中单元格的时候条件满足就触发
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wkl1237
推荐于2016-01-11 · TA获得超过671个赞
知道小有建树答主
回答量:469
采纳率:0%
帮助的人:294万
展开全部
Application.EnableEvents = True
Application.EnableEvents = False
都去掉再试下,
Application.EnableEvents = False
。。。。。
之间的内容消息是不弹出的。
Application.EnableEvents = True
。。。。。
之后的内容消息是弹出的。
追问
把selection_change里去掉就可以了~~~

change中的msgbox是放在最开始,而且里面有调整行高的函数,所以确实运行完selcetion_change后,就不触发这些事件了~~

大侠有什么办法吗??
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式