Untested, both subs in one, so a big guess to test:
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
Attach a workbook; it stops us guessing wrongly.