繁体   English   中英

在宏运行时使用 Excel

[英]Using Excel while macros are running

对此有六种答案。 “打开第二个实例”“暂停一下”等等。我不是在寻找那个。

我正在寻找工作簿的用户能够在宏运行时操作工作簿。 我以前见过这种方法,用户可以在宏运行的同时滚动、更改选项卡,甚至添加和删除数据。 不幸的是,我无法获得查看代码的许可(并且违反 CFAA 的行为不是我的菜),所以我不知道他们是如何做到的。

如何让用户在宏运行时编辑工作簿? 举一个具体的例子,我正在运行康威的生命游戏。 用户选择单元格来翻转生/死,然后可以运行一个宏来运行整个事情。 我认为用户能够在宏运行时更改单元格会很好。 (这是选择宏的第二个)

谢谢

重构您的宏以使用事件。 在这种情况下,您将拥有一系列事件处理程序(而不是单个宏)来响应各种触发器。 这是假设宏受到用户在工作表中所做的事情的影响。

抱歉,刚刚重读了这个问题。 我不希望排列运行很长时间 - 不足以真正中断。

但如果确实如此,那么关于使用大量DoEvents的建议就成立了。

另一种选择是您可以使用OnTime事件来获得“心跳”

VBA Macro On Timer 样式每隔设定的秒数(即 120 秒)运行代码

您可以将计时器设置为 3 秒。 每次发生OnTime事件时,您都会执行一个排列步骤。 在这之间的三秒钟内,他们可以进行编辑。

一种(某种)这样做的方法是使用无模式用户窗体(UserForm.Show vbModeless)

用户窗体保持可见,但在显示窗体时 VBA 停止运行,然后用户可以与 Excel 交互。 然后,当用户单击表单上的按钮时,按钮后面的代码将再次开始运行。

因此,实际上用户要么与 Excel 交互,要么与表单交互......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM