vba - VBA Excel宏毫秒计时

标签 vba excel

我正在尝试在 VB 中为 Excel 电子表格编写一个宏,该宏以特定的时间间隔执行,该时间间隔由电子表格本身包含的值(以 Hz 为单位)定义。我的问题是,我找到的用于以这种方式完成自动宏的代码似乎只允许秒精度,因此任何高于 1Hz 的频率都是不可能的。如果可能的话,我希望能够达到 10Hz 左右,这需要毫秒精度。

我是VB新手,所以不太了解。这是代码:

Sub Macro2()
    Range("K1").Select
    Dim f As Single
    f = ActiveCell.Value
    Dim t As Integer
    t = 1 / f
    dTime = Now + TimeSerial(0, 0, t)
    Application.OnTime dTime, "Macro2"
    Range("J1").Select
    Dim c As Integer
    c = ActiveCell.Value
    c = c Xor 1
    ActiveCell.Value = c
End Sub

有没有办法使用这种方法获得毫秒精度?

最佳答案

就这么简单 Application.Wait (Now + 0.000001) 等待 1/10 秒:

Sub Macro2()
' Macro2 Macro
Range("C1").FormulaR1C1 = "1"
Application.Wait (Now + TimeValue("0:00:01")) '1sec
Range("C1").FormulaR1C1 = "2"
Application.Wait (Now + 0.000001) '1/10sec
Range("C2").Select
Sleep (100)
End Sub

关于vba - VBA Excel宏毫秒计时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10438338/

相关文章:

excel - 如何通过 VBA 识别 UNIX 文本文件中的隐藏回车符?

vba - 如何VBA更改单元格的值(显示文本)而不更改其公式?

vba - 从网站中提取数据作为单独的字段

excel - 如何隐式调用类的默认函数

javascript - 对相似参数进行分组的逻辑

sql - 使用 VBA 代码在 Access 中运行 SQL 语句

c# - 在 C# 中激活数据透视表总计的显示详细信息

excel - 如何使用VBA更改电源查询的来源?

Excel宏UI设计: How to let the user select several inputs

vba - 点击链接后如何导航回来?