Hi fuonli,
This should fullfill your requirements i hope. Please change the (counter,10) number to whatever column you'd like to record your back up data to.. Currently it's set to column 10 which will be column J
Option Explicit
Dim TimeToRun
Sub auto_open()
Call ScheduleCopyPriceOver
End Sub
Sub ScheduleCopyPriceOver()
TimeToRun = Now + TimeValue("00:00:01")
Application.OnTime TimeToRun, "CopyPriceOver"
End Sub
Sub CopyPriceOver()
Dim counter As Integer, MYWB As Object, lr As Range
Set MYWB = ThisWorkbook.Sheets("data").Cells
Set lr = MYWB(Rows.Count, 10).End(xlUp).Offset(1, 0)
counter = 1
Calculate
'clear previous record of data
For counter = 1 To lr.Row - 1
MYWB(counter, 10).Value = ""
Next counter
'copy and paste new data
counter = 1
Set lr = MYWB(Rows.Count, 3).End(xlUp).Offset(1, 0)
Do While counter < lr.Row
MYWB(counter, 10).Value = MYWB(counter, 3).Value
counter = counter + 1
Loop
Call ScheduleCopyPriceOver
End Sub
Sub auto_close()
On Error Resume Next
Application.OnTime TimeToRun, "CopyPriceOver", , False
End Sub
Bookmarks