如何使用点击事件重新启动我的宏,以取代我当前的计时器方法?
在创建要打印的 PDF 之前,我必须手动更新图表标签。我添加了一个计时器来暂停宏,这样我就有时间进行更改,然后它就会弹出一个消息框,我必须开始执行宏的下一部分。
这相当不确定:一些图表标签需要更多操作。
...而且令人意外地紧张。
sub PauseMacro
MsgBox "15s to change the labels positions of the pie charts"
t1 = Now
While Now < t1 + TimeSerial(0, 0, 15)
DoEvents
Wend
MsgBox "Continuing with updating countries macro"
End Sub
(这段有用的代码来自该论坛的一个答案。抱歉,我找不到原始帖子)。
理想的情况是出现一个消息框按钮,等待我(或继承此任务的其他用户)在对标签进行更改后单击“继续”。
不幸的是,我无法弄清楚在表单打开时如何与 Excel 图表进行交互。
欢迎任何指点。迈克尔。
答案1
成立Siddharth Rout 在 StackOverflow 上发表的文章
请先阅读链接,然后返回此处查看更多具体详细信息。
我的建议:让表单变得非常简单和基本,让它看起来像每个人都熟悉的 msgbox。您必须在表单上添加一个继续按钮。
您仍然需要某种循环,因为加载表单实际上不会停止代码运行。我将使用表单 onload 事件来编写计时器/循环的代码。
另外,我不知道您的流程……但我刚刚想到了另一件事……如果您想创建一个工作表并将其命名为“Continue”,您可以避免所有表单内容,并且每当进行所有手动编辑时,只需单击名为“Continue”的工作表,它就会将其从正在运行的循环中启动,等待名为“Continue”的工作表处于活动状态。一旦它处于活动状态,删除工作表并恢复代码。这可能是做你想做的事情的最快方法,它很丑陋……但大多数解决方法都是哈哈。