Creo qué esta línea sigue mal porque buscando desde la fila 212 la primera libre queda debajo de la marcada en gris con &... quizás quisiste escribir fila 21?
filx = Sheets("NC 2018").Cells(212, 13).End(xlUp).Row + 1
La macro para una búsqueda continua quedaría así:
Sub separando()
'arregada x Elsamatilde
Codi = "NotaCredito"
If IsEmpty(Codi) Then Exit Sub
ini = Val(InputBox("Ingrese el numero de fila a considerar como la primera,"))
If Not IsNumeric(ini) Or ini = 0 Then
MsgBox "Nro invàlido"
Exit Sub
End If
'1er fila destino
filx = Sheets("NC 2018").Cells(21, 13).End(xlUp).Row + 1
'Set busco = Range("F" , Ini :F" & Range("F1844", Rows.Count).End(xlUp).Row).Find(Codi, LookIn:=xlValues, lookat:=xlWhole)
'falta asegurarte la hoja y el fin de rango
fini = Sheets("XML 2018").Range("F" & Rows.Count).End(xlUp).Row
Set busco = Sheets("XML 2018").Range("F" & ini & ":F" & fini).Find(Codi, , , xlWhole)
If Not busco Is Nothing Then
'guardo la fila del 1er dato encontrado
filb = busco.Row
'Inica el bucle:
Do
Range("m" & busco.Row).Copy Destination:=Sheets("NC 2018").Range("N" & filx)
'suma 1 a la fila destino y pasa a la fila sgte
filx = filx + 1
'se busca el siguiente
Set busco = Sheets("XML 2018").Range("F" & ini & ":F" & fini).FindNext(busco)
'se repite el bucle hasta llegar al fin de rango o se vuelva a la 1er fila
Loop While Not busco Is Nothing And busco.Row <> filb
Else
MsgBox "No se encontro registro alguno", , "Sin coincidencias"
End If
End Sub
Sdos!