Excel, como mejorar macro para búsqueda, copiar y pegar en otra hoja
Necesito de su valiosa experiencia, en resumidas cuentas, la macro lo que tiene que hacer es pasar del archivo llamado RATIFICADO todos los folios de los predios de cada productor al archivo que dice TABLAORI, una parte del archivo esta llenado que fue de forma manual de cómo quedaría, pero son muchos registros y se pierde mucho tiempo, si me pudieras apoyar en optimizarla y corregirla, ya que cuando los dos datos de los dos archivos están por orden y coinciden no hay problema, pero si por pura casualidad en el archivo TABLAORI están sin ordenar, truena la macro.
Sub Traer()
Contador = 4
Contador2 = 30
encontrado = False
Sheets("RATIFICADO").Select
Do While Cells(Contador, 3) <> "" And Cells(Contador + 1, 3) <> ""
encontrado = False
Cells(Contador + 1, 3).Select
Productor = ActiveCell.Value
Predio = ActiveCell.Offset(0, 1).Value
Sheets("TABLAORI").Select
Cells(Contador2, 1).Select
Productor2 = ActiveCell.Value
Do While encontrado = False
If Productor = Productor2 Then
Sheets("TABLAORI").Select
Cells(Contador2, 1).Select
ActiveCell.Offset(0, 1) = Predio
Contador2 = Contador2 + 1
AuxProductor = Productor2
Nombre = ActiveCell.Offset(0, 2)
Paterno = ActiveCell.Offset(0, 3)
Materno = ActiveCell.Offset(0, 4)
encontrado = True
Else
If Productor = AuxProductor Then
For i = 1 To 25
Cells(Contador2, i).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Next i
Cells(Contador2, 1).Value = AuxProductor
ActiveCell.Offset(0, 2) = Nombre
ActiveCell.Offset(0, 3) = Paterno
ActiveCell.Offset(0, 4) = Materno
Contador = Contador - 1
encontrado = False
Else
Contador2 = Contador2 + 1
Predio = ""
Cells(Contador2, 1).Select
ActiveCell.Offset(0, 1) = Predio
Contador = Contador - 1
encontrado = False
End If
End If
Loop
Contador = Contador + 1
Sheets("RATIFICADO").Select
Loop
End Sub
P.D. Adjunto como están los datos en excel.