Here is code to do both. It does not randomize the data, it merely pull a random row each time ...
Sub pullRandomRow()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim lastRow As Long
Dim nextRow As Long
Dim rndRow As Long
Dim rng As Range
Randomize
Set ws1 = Sheet1
Set ws2 = Sheet2
'last row on worksheet2
lastRow = ws2.Cells(ws2.Rows.Count, 1).End(xlUp).Row
'pick a random row
rndRow = Int(((lastRow) * Rnd) + 1) ' Generate random value between 1 and LastRow
'move this row to next available row on worksheet1
nextRow = ws1.Cells(ws1.Rows.Count, 1).End(xlUp).Row + 1
If nextRow < 15 Then nextRow = 15
Set rng = Range(ws2.Cells(rndRow, 1), ws2.Cells(rndRow, 4))
rng.Copy Destination:=ws1.Range("A" & nextRow)
ws1.Range("F" & nextRow) = rndRow
'delete the row so we do not bring it over again
ws2.Rows(rndRow).Delete
End Sub
Bookmarks