You can try the following:
Application.ScreenUpdating = False
Sheets.Add.Name = ("SheetX")
Sheets("SheetX").Move After:=Sheets(Sheets.Count)
Sheets.Add.Name = ("SheetY")
Sheets("SheetY").Move After:=Sheets(Sheets.Count)
Dim LastCell As Range
Set LastCell = Worksheets("Sheet1").Range("C1")
Do Until IsEmpty(LastCell)
If LastCell.Value = "X" Then
LastCell.EntireRow.Copy
Sheets("SheetX").Select
Range("C65536").End(xlUp)(2, -1).Select
ActiveSheet.Paste
LastCell.EntireRow.Delete
Set LastCell = Worksheets("Sheet1").Range("C1")
End If
If LastCell.Value = "Y" Then
LastCell.EntireRow.Copy
Sheets("SheetY").Select
Range("C65536").End(xlUp)(2, -1).Select
ActiveSheet.Paste
LastCell.EntireRow.Delete
Set LastCell = Worksheets("Sheet1").Range("C1")
End If
If LastCell.Value <> "X" Then
If LastCell.Value <> "Y" Then
Set LastCell = LastCell(2, 1)
End If
End If
Loop
Application.ScreenUpdating = True