Macro en Excel para actualizar registros de dos ficheros con un campo común
He utilizado una macro adaptada de otra contestación, pero me da errores en la depuración (no paso de la 2ª instrucción).
Tengo dos ficheros (Nat_macro.xlxs y Int. Xlxs) con una columna común de jugadores (Name) y trato de completar en Nat (Fide_No, Rtg_Int, K) los datos de Int (ID Number, Rtg_Int, K) que faltan.
El fichero Nat tiene más registros que el Int.


La solución que intenté adaptar era una subrutina para actualizar un fichero de tarifas desde uno de Proveedores:
sub actualizar()
' Entrega la ultima fila escrita sirve para recorrer todo el archivo
Workbooks("MiTarifa.xlsx").activate
fila_tarifa = range("a65000").end(xlup).row
i = 2
do while i <= fila_tarifa
id_tarifa = cells(i,1).value
workbooks("Proveedor.xlsx").activate
fila_prov = range("a65000").end(xlup).row
j =2
do while j <= fila_prov
id_prov = cells(j,1).value
if id_prov = id_tarifa then
descripción = cells(j,2).value
nombre = cells(j,3).value
peso = cells(j,4).value
workbooks("MiTarifa.xlsx").activate
cells(i,22).value = descripción
cells(i,3).value = nombre
celld(i,19).value = peso
j = fila_prov + 100
end if
j = j + 1
loop
workbooks("MiTarifa.xlsx").activate
i = i + 1
loop
end sub
Lo he adaptado, pero me da error de compilación en la 2ª fila:
Sub actualizar()
'Entrega la ultima fila escrita sirve para recorrer todo el archivo
Workbooks("Nat_macro.xlsx").Activate
fila_Name = Range("b65000").End(xlUp).Row
i = 2
Do While i <= fila_Name
id_Name = Cells(i, 2).Value
Workbooks("Int.xlsx").Activate
fila_prov = Range("a65000").End(xlUp).Row
j = 2
Do While j <= fila_prov
id_prov = Cells(j, 1).Value
If id_prov = id_Name Then
IDNumber = Cells(j, 4).Value
Rtg_Int = Cells(j, 5).Value
K = Cells(j, 6).Value
Workbooks("Nat_macro.xlsx").Activate
Cells(i, 9).Value = IDNumber
Cells(i, 10).Value = Rtg_Int
Cells(i, 12).Value = K
j = fila_prov + 100
End If
j = j + 1
Loop
Workbooks("Nat_macro.xlsx").Activate
i = i + 1
Loop
End Sub
Si os animáis, os agradecería una solución sencilla para completar el fichero. Es una operación que me facilitaría muchísimo un trabajo posterior de carga de datos de los jugadores (muchos registros y varias veces al año).
