Sub rectangle1_click() ' - start copy one time Call dCopy(4) ' --- dCopy will copy top 3 rows to row 4-5-6 End Sub
Sub rectangle2_click() ' - start copy every 5 seconds TimerActive = True Application.OnTime Now() + TimeValue("00:00:05"), "Dojob" '-------á¡éªèǧàÇÅҵç¹Õé Change time interval here End Sub
Sub rectangle3_click() ' - stop MsgBox "Stop" TimerActive = False End Sub
Sub dojob() If TimerActive = True Then Dim LastRow As Long With ActiveSheet.UsedRange Call dCopy(.Rows(.Rows.Count).Row) ' --- dCopy will copy top 3 rows to lastest row every 5 seconds End With Call rectangle2_click End If End Sub
Sub dCopy(R As Integer) Range("1:3").Select: Selection.Copy Range("A" & R).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False End Sub
Dim TimerActive As Boolean
Sub rectangle1_click() ' - start copy one time
Call dCopy(4) ' --- dCopy will copy top 3
rows to row 4-5-6
End Sub
Sub rectangle2_click() ' - start copy every 5 seconds
TimerActive = True
Application.OnTime Now() + TimeValue("00:00:05"), "Dojob" '-------á¡éªèǧàÇÅҵç¹Õé Change time interval here
End Sub
Sub rectangle3_click() ' - stop
MsgBox "Stop"
TimerActive = False
End Sub
Sub dojob()
If TimerActive = True Then
Dim LastRow As Long
With ActiveSheet.UsedRange
Call dCopy(.Rows(.Rows.Count).Row) ' --- dCopy will copy top 3 rows to lastest row every 5 seconds
End With
Call rectangle2_click
End If
End Sub
Sub dCopy(R As Integer)
Range("1:3").Select: Selection.Copy
Range("A" & R).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub