首页 > 解决方案 > 我需要在每分钟后将实时网络数据复制到新列,停留在以下代码中以移动到下一列

问题描述

Sub Timer()

Application.OnTime Now() + TimeValue("00:00:50"), "Main"

End Sub

Sub Main()

j = 5
   
    Sheets("Sheet1").Select
    Range(Cells(5, 5), Cells(19, 5)).Select
    Selection.Copy
    Sheets("Dashbord").Select
    Cells(5, j).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
         
j = j + 1
        
    Call Timer
    
End Sub

标签: excelvbaloopstimer

解决方案


Dim j As Long

Sub Start()
    j=5
    NextRun
End Sub

Sub NextRun()
     Application.OnTime Now() + TimeValue("00:00:50"), "Main"
End Sub

Sub Main()

    Dim rng As range
   
    With ThisWorkbook.Sheets("Sheet1")
        Set rng = .Range(.Cells(5, 5), .Cells(19, 5))
    End with
    
    Sheets("Dashbord").Cells(5, j).Resize( _
       rng.rows.count, rng.columns.count).value =  rng.value
         
    j = j + 1
        
    NextRun
    
End Sub

推荐阅读