Excel “的记录时间”;X";循环中的指示器数量

Excel “的记录时间”;X";循环中的指示器数量,excel,vba,loops,time,record,Excel,Vba,Loops,Time,Record,我记录了600只不同的股票,不同的买入/卖出评级,我有这个宏来运行并记录平均每只股票需要多少秒。这很好,很有效,但现在我想看看20只股票的组合需要多长时间。我想能够记录20只股票的数量,记录每只股票花了多长时间。我需要这个宏来遍历所有600只股票,同时记录记录20只股票所花的时间。如何让宏告诉我运行600次中的20次需要多长时间?我希望时间的值从“C30”开始,然后下一个值将偏移1个单元格 ' ' Repeat Macro ' ' Start = Timer Dim i As Intege

我记录了600只不同的股票,不同的买入/卖出评级,我有这个宏来运行并记录平均每只股票需要多少秒。这很好,很有效,但现在我想看看20只股票的组合需要多长时间。我想能够记录20只股票的数量,记录每只股票花了多长时间。我需要这个宏来遍历所有600只股票,同时记录记录20只股票所花的时间。如何让宏告诉我运行600次中的20次需要多长时间?我希望时间的值从“C30”开始,然后下一个值将偏移1个单元格

'
' Repeat Macro
'
'
Start = Timer

  Dim i As Integer
  
For i = 1 To 600

  Call Sheet4.SpinButton1_SpinDown
  DoEvents
  Application.Run "EikonRefreshWorkbook"
  DoEvents
  Application.Run "EikonRefreshWorkbook"
  DoEvents
  Call CopyPaste
  DoEvents

Next i

ElapsedTime = Format((Timer - Start) / (86400 * 600), "hh: mm: ss: ms ")
Range("C30").End(xlDown).Offset(1, 0).Value = ElapsedTime


    MsgBox "Indicators have been updated.", vbOKOnly

End Sub

这应该符合你的要求。我建议添加一个工作表引用
单元格

我将除数设置为一个变量,以便在修改值时不要忘记更改偏移量计算中的值

    Dim i As Long
    Dim start As Long
    Dim groupval as long
    groupval = 20 'Change this to change the group size
    start = Timer
    For i = 1 To 600

        Call Sheet4.SpinButton1_SpinDown
        DoEvents
        Application.Run "EikonRefreshWorkbook"
        DoEvents
        Application.Run "EikonRefreshWorkbook"
        DoEvents
        Call CopyPaste
        DoEvents
  
        If i Mod groupval = 0 Then
            Cells(30, 3).Offset((i / groupval) - 1).Value = Format((Timer - start) / (86400 * 600), "hh: mm: ss: ms ")
            start = Timer
        End If
  
    Next i

    MsgBox "Indicators have been updated.", vbOKOnly


End Sub

你是最棒的!完美无瑕