小编Fin*_*per的帖子

VBA Macro On Timer样式每隔几秒钟运行代码,即120秒

我需要每120秒运行一段代码.我正在寻找一种在VBA中执行此操作的简单方法.我知道有可能从Auto_Open事件中获取计时器值以防止必须使用幻数,但我无法完全了解如何触发计时器以获得每120秒运行一次的东西.

如果我可以避免它,我真的不想在睡眠中使用无限循环.


编辑:

基于提供的答案的交叉发布位于:Excel VBA Application.OnTime.我觉得使用这个想法是个坏主意......想法无论如何?

excel vba scheduling timer excel-vba

38
推荐指数
3
解决办法
24万
查看次数

带有参数的Excel VBA CommandBar.OnAction很难/不能按预期执行

所以,我已经谷歌搜索了,似乎在制作自定义弹出菜单时,如果想要传递参数,那么这是可能的,但对我来说有两个主要问题:

1)您调用的函数将执行,但您将无法在其上激活断点,甚至无法使用Stop.

2)奇怪的是它似乎被召唤两次,这也不是很有帮助.

代码说明(请放入模块而不是表格中)

Option Explicit

Sub AssignIt()

    Dim cbrCmdBar As CommandBar
    Dim strCBarName As String

    On Error Resume Next

    strCBarName = "MyNewPopupMenu"

    'Delete it first so multiple runs can occur without appending
    Application.CommandBars(strCBarName).Delete

    ' Create a menu bar.
    Set cbrCmdBar = Application.CommandBars.Add(Name:=strCBarName, Position:=msoBarMenuBar)

    ' Create a pop-up menu.
    strCBarName = "MyNewPopupMenu"
    Set cbrCmdBar = Application.CommandBars.Add(Name:=strCBarName, Position:=msoBarPopup)

    'DEFINE COMMAND BAR CONTROL
    With Application.CommandBars(strCBarName).Controls.Add(Type:=msoControlButton)
    .Caption = "MyMenu"
    .OnAction = BuildProcArgString("MyProc", "A", "B", "C") 'You can add any number of …
Run Code Online (Sandbox Code Playgroud)

excel events vba

5
推荐指数
2
解决办法
2万
查看次数

Excel VBA Application.OnTime.我觉得使用这个想法是个坏主意......想法无论如何?

我有一些我支持的用户要求自动发生事情(更自动化,但这是另一点!).

一个人希望事件每120秒发生一次(参见我的另一个问题),另一个人希望在每个工作日的下午5点发生一件事.这必须在Excel工作表上,因此VBA作为插件等将是不,因为它需要自包含.

我非常不喜欢使用Application.OnTime 我认为它危险且不可靠,其他人怎么想?


编辑:交叉发布是VBA宏定时器样式,每隔设定的秒数运行代码,即120秒

excel vba scheduling timer excel-vba

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

excel ×3

vba ×3

excel-vba ×2

scheduling ×2

timer ×2

events ×1