Te anexo la macro, sigue las Instrucciones para un botón y ejecutar la macro
1. Abre tu libro de Excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la macro
5. Ahora para crear un botón, puedes hacer lo siguiente:
6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona Asignar macro / Selecciona: pinta
9. Aceptar.
10. Para ejecutarla dale click a la imagen
Sub cuatroen1()
'copia costos en 1 libro
'por.dam
Set h1 = Workbooks("LASFOR").Sheets("MAESTRO")
Set h2 = Workbooks("MORENO").Sheets("HOJA1")
Set h3 = Workbooks("ALMADA").Sheets("HOJA1")
Set h4 = Workbooks("BALCARCE").Sheets("HOJA1")
h1.Activate
For i = 2 To h1.Range("A" & Rows.Count).End(xlUp).Row
'Busca en Moreno
res = Application.VLookup(h1.Cells(i, "A"), _
h2.Range("A:D"), 4, False)
If IsError(res) = True Then
' No lo encontró
Else
h1.Cells(i, "D") = res
End If
'Busca en Aldama
res = Application.VLookup(h1.Cells(i, "A"), _
h3.Range("A:D"), 4, False)
If IsError(res) = True Then
' No lo encontró
Else
h1.Cells(i, "E") = res
End If
'Busca en Balcarce
res = Application.VLookup(h1.Cells(i, "A"), _
h4.Range("A:D"), 4, False)
If IsError(res) = True Then
' No lo encontró
Else
h1.Cells(i, "F") = res
End If
Next
End Sub
Indicaciones:
1. Los 4 libros deberán estar abiertos.
2. Las hojas de los libros MORENO, ALMADA y BALCARCE, les puse "HOJA1", si quieres cambiarlas, reemplaza “Hoja1” por el nombre que les corresponde, en esta parte de la macro
Set h2 = Workbooks("MORENO").Sheets("HOJA1")
Set h3 = Workbooks("ALMADA").Sheets("HOJA1")
Set h4 = Workbooks("BALCARCE").Sheets("HOJA1")
3. La columna A es donde empiezan los datos de LASFOR
Si la columna es otra, cambia la letra en esta línea
For i = 2 To h1.Range("A" & Rows.Count).End(xlUp).Row
Y en estas líneas
res = Application.VLookup(h1.Cells(i, "A"),
Y también las columnas de costo, costo1 y costo2 (D, E, y f) respectivamente
4. La fila 2 es donde empiezan los datos.
Si es otra fila, cambia el 2 en esta línea
For i = 2 To h1.Range("A" & Rows.Count).End(xlUp).Row
5. Los datos de los libros MORENO, ALMADA y BALCARCE, están en las columnas A, B, C y D,
Si son otras columnas cambia estas líneas
h2.Range("A:D"), 4, False)
H3.Range("A:D"), 4, False)
H4.Range("A:D"), 4, False)
Si necesitas ayuda avísame. Si no cambia nada, la macro está lista.
Saludos. Dam
Si es lo que necesitas.