Imprimir páginas de una hoja de excel según valor de celdas

Tengo una hoja de excel paginadas de 1 a 71 pero quisiera crear una macro que imprimiera las páginas según el valores de una celda C1 : PÁG inicial y C2 : Pág final

Con el objetivo de que al ejecutar la macro tome los valores de las celdas y ese sea el rango de impresión.

Agradezco su ayuda ya que no he encontrado una respuesta suficiente para este problema de excel

1 Respuesta

Respuesta
2

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: imprimir
9. Aceptar.
10. Para ejecutarla dale click a la imagen.

Pon las hojas en las celdas C1 y C2

Sub imprimir()
'Por.DAM
i = Range("C1")
f = Range("C2")
ExecuteExcel4Macro "PRINT(2," & i & "," & f & ",1,,,,,,,,2,,,TRUE,,FALSE)"
End Sub

Saludos.DAM
Si es lo que necesitas.

Hola, Muchas Gracias funciono a la perfección pero ahora tengo un inconveniente :

Antes de imprimir deseo actualizar la tabla dinámica que alimenta los datos.. ¿ Hay Forma de unir la macro de actualizar con la macro de impresión ?

estas son las macros

Macro 1

Sub Actualizar()
' Actualizar Macro
ActiveSheet.PivotTables("Tabla dinámica9").PivotCache.Refresh
ActiveSheet.PivotTables("Tabla dinámica9").PivotFields("Im").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("Tabla dinámica9").PivotFields("Im")
.PivotItems("No").Visible = False
End With
End Sub

Macro 2

Sub imprimir()
i = Range("i1")
f = Range("m1")
ExecuteExcel4Macro "PRINT(2," & i & "," & f & ",1,,,,,,,,2,,,TRUE,,FALSE)"
End Sub

Con el fin de que al oprimir un botón se ejecute la macro 1 seguida de la macro 2 en el mismo acto.

Gracias

Con gusto te sigo ayudando, finaliza esta pregunta y crea una nueva para cada petición.

Saludos. DAM

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas