En la imagen veras una fila coloreada en verde eso significa que ese numero no tiene un numero equivalente en la columna A por tanto te saldrá un error, modifique la macro para que te mande un mensaje cada que aparezca un error de este tipo y te señale coloree la fila para que puedas identificar más rápido la fila, si no quieres que te muestre el mensaje y solo te coloree borra las líneas que tengan un '*
Sub ordenar_datos()
Set datos = Range("a1").CurrentRegion
With datos
.EntireColumn.AutoFit
filas = .Rows.Count: col = .Columns.Count
For i = 1 To filas
numero = .Cells(i, 1)
numero2 = .Cells(i, 2)
If numero = numero2 Or IsEmpty(numero2) = True Then GoTo siguiente
.Cells(i, 2).Resize(1, col - 1).Copy
On Error Resume Next
fila = WorksheetFunction.Match(numero2, .Columns(1), 0)
If Err.Number > 0 Then '*
MsgBox ("registro " & numero2 & " no existe, aceptar para continuar"), vbCritical, "AVISO" '*
.Cells(i, 2).Resize(1, 3).Interior.ColorIndex = 4
GoTo siguiente '*
End If '*
On Error GoTo 0
.Cells(fila, 2).Resize(1, col - 1).PasteSpecial xlValues
.Cells(i, 2).Resize(1, col - 1).ClearContents
siguiente:
Next i
.Columns(2).NumberFormat = "000"
End With
End Sub