Macro para Imprimir

Respuesta de
a
Usuario
Saludos, Les cuento que elaboré una macro que genera un gráfico con una estadística. Este gráfico cambia en su información interna y se encuentra basado en una tabla dinámica de excel. Deseo crear un botón que me permita autoajustar el área a imprimir (el gráfico en una hoja y la tabla dinámica en otra). Y que genere la impresión.
¿Puede alguien ayudarme para alcanzar este objetivo?
Gracias!
Experto
Supongo que por lo que mencionas, la tabla dinámica se encuentra en una hoja y el gráfico en otra hoja, si no es así, no importa, los pasos son los siguientes:

Crear un botón en la hoja, donde al dar doble click te aparecerá en la hoja de Visual Basic un cuadro con algo parecido a esto:

Private Sub CommandButton1_Click()

End Sub

Despues solo deberas teclear los siguientes comandos
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("[hoja de Grafico]").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Donde [hoja de Grafico] es el nombre de la hoja en que se encuentra el gráfico que mencionas.

En caso de que se encuentren en la misma hoja, deberás seleccionar el área de cada uno con los siguientes comandos:

Range("a1:az83").Select
'selecciona el area donde esta la tabla dinamica, en este caso seria desde la celda A1 hasta la celda AZ83,obviamente depende del area que tu manejes
ActiveSheet.PageSetup.PrintArea = "$a$1:$az$83"
'selecciona el area de impresion
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
'manda a imprimir el area seleccionada

Y repetirías este comando donde se encuentre el rango del gráfico

Como tras consideraciones, toma en cuenta de que antes de eso tendrías que configurar la página ANTES de crear y asignar los comandos, es decir, tienes que ajustar la orientación y si lo quieres ajustar en una página de alto por una de ancho

Espero haberte ayudado

Salu-2!