Vba 双击在我的用户表单中捕获

Vba 双击在我的用户表单中捕获,vba,excel,Vba,Excel,我敢打赌,我的Excel 2013宏中发生了以下情况: 双击调用表单之前的子工作表 一些逻辑填充并显示表单 表单将双击事件捕获为列表框中不希望出现的选择 是否有一个正确的方法来抑制子例程中间的双击?我有一些绕过它的想法(睡眠线程工作,重新定位表单工作,根据其他事件锁定和解锁列表框工作),这些都是糟糕的解决方法,我希望有一个内置的解决方案,我只是不知道 (和设置取消=真的不起作用,因为我相信一旦代码完成运行,只设置一个踢。双击成为子例程中的一个选择)< p>如果你正在从宏启动的窗体正在捕捉相同的双

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

  • 双击调用表单之前的子工作表
  • 一些逻辑填充并显示表单
  • 表单将双击事件捕获为列表框中不希望出现的选择
  • 是否有一个正确的方法来抑制子例程中间的双击?我有一些绕过它的想法(睡眠线程工作,重新定位表单工作,根据其他事件锁定和解锁列表框工作),这些都是糟糕的解决方法,我希望有一个内置的解决方案,我只是不知道


    (和设置取消=真的不起作用,因为我相信一旦代码完成运行,只设置一个踢。双击成为子例程中的一个选择)

    < p>如果你正在从宏启动的窗体正在捕捉相同的双击事件,尝试如下:

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


    2) 您的新子例程只需执行以下操作:Form.Show(),以及您认为必要的任何其他操作。

    否。EnableEvents将抑制BeforeDoubleClick宏本身,我正在尝试忽略BeforeDoubleClick调用的宏中的物理单击。因此,我不确定我是否遵循,如果我错了,请更正我:1)双击,宏将触发2)宏启动表单3)表单也捕获相同的双击并中断,是否正确?是的。虽然break有点强,但我无意中选择了UserFormAs上的一个项目,这是我在问题(“睡眠线程工作”)中说得不好的,我知道如何使用各种方法来解决这个问题。我想知道是否有一种内置的或惯用的方法来解决这个问题我不确定你的意思,当你双击一个单元格时,会发生什么?你想发生什么或不想发生什么?