Macro para llenar formato e imprimirlo

Hola tengo problemas con la macro que anexo a continuación, la idea es que tengo una base de datos y tengo que llenar a mano el formato con estos datos la intención con esta macro es que en la hoja "macro" yo coloque la lista de los "clientes" de los que quiero imprimir el formato y mi macro debe llenar con los datos de este cliente el formato e imprimirlo; sin embargo cuando corro la macro me imprime el cliente solicitado y aproximadamente 7 clientes que no seleccione;

No puedo colocar como tal los formatos por no ser de mi propiedad espero que sirva el código de este:

Sub media()
Application.ScreenUpdating = False
inicio = 2
Sheets("macro").Activate
verifot = Range("d2")
For a = 1 To 15
rpuno = Mid(Cells(inicio, 1), 1, 12)
If rpuno <> "" Then
Sheets("registro").Activate
columna = 1
For fila = 1 To 600
orden = Mid(Cells(fila, columna), 1, 12)
If orden = rpuno Then
' PRIMERO VAMOS A DARLE LOS VALORES A ORDEN RPU ETC Y LUEGO LOS VAMOS A TRANSCRIBIR
cliente = Cells(fila, (columna + 2))
rpu = rpuno
direcc = Cells(fila, (columna + 3))
cuenta = Cells(fila, (columna + 1))
tarifa = Cells(fila, (columna + 6))
hilos = Cells(fila, (columna + 10))
suministro = Cells(fila, (columna + 9))
medidor = Cells(fila, (columna + 11))
multi = Cells(fila, (columna + 12))
'AHORA VAMOS A TRANSCRIBIR A LA HOJA LOS VALORES EXTRAÍDOS
Sheets("frente").Select
Range("b10") = cliente
Range("b12") = rpu
Range("j10") = direcc
Range("b11") = cuenta
Range("g11") = tarifa
Range("g12") = hilos
Range("c13") = suministro
Range("h13") = medidor
Range("k13") = medidor
Range("n13") = multi
Range("j58") = verifot
GoTo salida:
End If
'si no es el rpu buscado se salta hasta este punto
Next fila
End If
salida:
Sheets("frente").Select
ActiveWindow.SelectedSheets.PrintOut copies:=1, collate:=True
inicio = inicio + 1
Next a
End Sub

Añade tu respuesta

Haz clic para o