Untested, both subs in one, so a big guess to test:Attach a workbook; it stops us guessing wrongly.Sub finddata() Dim athletename As String 'this is actually the search input Dim finalrow As Long Dim i As Long, Destn As Range With Worksheets("UserForm") .Range("X19:AE" & .Rows.Count).ClearContents Set Destn = .Range("X19") athletename = .Range("Y1").Value 'search input location With Worksheets("data") finalrow = .Range("A15000").End(xlUp).Row Application.ScreenUpdating = False For i = 2 To finalrow If .Cells(i, 1) = athletename Then .Range(.Cells(i, 2), .Cells(i, 7)).Copy Destn.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False Set Destn = Destn.Offset(1) End If Next i Destn.Offset(3).Value = "Device Info" Set Destn = Destn.Offset(4) For i = 2 To finalrow If .Cells(i, 1) = athletename And .Cells(i, 7) = 1 Then 'this needs to be value greater than 0 to cover 1, 2, 3, etc .Range(.Cells(i, 8), .Cells(i, 12)).Copy Destn.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False Set Destn = Destn.Offset(1) End If Next i End With 'Worksheets("data") .Range("Y1").Activate End With 'Worksheets("UserForm") Application.ScreenUpdating = True End Sub