在我的UserForm中捕获的DoubleClick

时间:2015-11-03 21:54:23

标签: excel vba excel-vba

我敢打赌,我可以告诉我的Excel 2013宏中发生了以下情况:

  1. Sub WorkSheet_BeforeDoubleClick正在调用表单
  2. 某些逻辑填充并显示表单
  3. 双击事件被表单捕获为列表框中不需要的选择
  4. 是否有正确的方法来抑制子程序中间的双击?我有解决它的想法(睡眠线程工作,重新定位表单工作,基于其他事件工作锁定和解锁列表框)这些都是糟糕的解决方法,我希望有一个内置的解决方案,我只是不知道。

    (设置Cancel = True不起作用,因为我相信一旦代码完成运行,设置只会启动。双击会成为子程序中间的选择)

1 个答案:

答案 0 :(得分:0)

如果问题是您从宏启动的表单正在捕获相同的双击事件,请尝试以下操作:

1)让你的宏通过' Application.OnTime()'来调用一个新的子例程。安排它在将来运行足够长的时间来通过“物理点击”,可能是1秒。正如您目前所做的那样,而不是直接调用Form.Show()。

2)你的新子程序只需要:Form.Show(),以及你认为必要的任何其他内容。