Sub CopyEvery50()
Dim iMaxRows As Long
Dim iSourceRow As Long
Dim iSourceCol As Long
Dim iTargetRow As Long
Dim iTargetCol As Long
Dim wsSource As Worksheet
Dim wsTarget As Worksheet
[COLOR="DarkGreen"]' Shut off screen refresh[/COLOR]
Application.ScreenUpdating = False
[COLOR="DarkGreen"]' Point to the source worksheet[/COLOR]
Set wsSource = ActiveSheet
[COLOR="DarkGreen"]' Determine the maximum number of rows in the source[/COLOR]
iMaxRows = Cells(Rows.Count, 2).End(xlUp).Row
[COLOR="DarkGreen"]' Add a new worksheet[/COLOR]
Set wsTarget = Worksheets.Add
[COLOR="DarkGreen"]' Initialize variables (adjust as desired)[/COLOR]
iTargetRow = 2 [COLOR="DarkGreen"]'Start copying to the second row (below the header)[/COLOR]
iSourceCol = 2 [COLOR="DarkGreen"]'Assume the source data is in column B (2)[/COLOR]
iTargetCol = 1 [COLOR="DarkGreen"]'Copy data to column A (1) of the Target worksheet[/COLOR]
[COLOR="DarkGreen"]' Set up the new worksheet by adding a header[/COLOR]
[COLOR="DarkGreen"]' (Modify this to point to any other desired location)[/COLOR]
With wsTarget.Cells(1, iTargetCol)
.Value = "TimePoint"
.Font.Bold = True
End With
[COLOR="DarkGreen"]' Cycle through the source rows,[/COLOR]
[COLOR="DarkGreen"]' starting with the first data point in row 2[/COLOR]
[COLOR="DarkGreen"]' and then selecting every 50 after that until done[/COLOR]
For iSourceRow = 2 To iMaxRows Step 50
[COLOR="DarkGreen"]' Copy source to target[/COLOR]
wsSource.Cells(iSourceRow, iSourceCol).Copy _
wsTarget.Cells(iTargetRow, iTargetCol)
iTargetRow = iTargetRow + 1
Next iSourceRow
[COLOR="DarkGreen"]' Turn on screen refresh[/COLOR]
Application.ScreenUpdating = True
[COLOR="DarkGreen"]' Clean up[/COLOR]
Set wsTarget = Nothing
Set wsSource = Nothing
End Sub