dynamic value not copying correctly
You have the range specifically defined as D6:D64, so the loop would
paste the same info in every column because the same info is being
copied every time. Don't understand why you are waiting a second
between iterations either. What exactly are you wanting this code to
accomplish? The code below will do exactly what youtr current code
does without having to do any selections and without any wait times.
Sub thishereh()
For col = 1 To 20
Sheets("Sheet1").Range("D6:d64").Copy _
Destination:=Sheets("Sheet2") _
.Range("B6").Offset(0, col)
Next col
End Sub
GrahamR wrote:
I am trying to copy a range of cells from sheet 1 to sheet 2 every second,
but incrementing the sheet 2 column every loop to create a history trail. The
code is working but at run time it pastes only the first copy of the loop for
every iteration. So all the pasted columns are exactly the same. In debug the
code seems to work OK. One solution may be to clear the clipboard within the
loop. Any ideas anyone please.
Dim col As Integer
For col = 1 To 20
'DO EVERY SECOND
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 1
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
Sheets("Sheet1").Select
Range("D6:d64").Select
Selection.Copy
Sheets("Sheet2").Select
Range("B6").Select
ActiveCell.Offset(0, col).Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Next col
End Sub
|