Área de impresión dinámica en Excel, con macros.

jueves, noviembre 22, 2007

La consulta que dio origen a la nota anterior sobre cómo determinar un área de impresión en forma dinámica, pedía hacerlo con macros.

Así que para saldar mi deuda con el lector mostramos aqu[i una de las formas de hacerlo con Vba.

Volviendo a nuestro ejemplo anterior,




podemos usar las celdas G2 y G3 con esta macro:

ActiveSheet.PageSetup.PrintArea = [G2] & ":" & [G3]

Cambiando los valores de las celdas G2 y G3, al correr la macro cambiará la selección del área de impresión.

Technorati Tags:

6 comments:

Anónimo,  18 diciembre, 2014 11:09  

y ¿qué sucede si lo que quiero es definir mi área con un rango cualquiera de celdas que acabo de seleccionar con click y no se cual és? es decir, no se la columna ni la fila

Jorge Dunkelman 18 diciembre, 2014 15:02  

EN ese caso no necesitás una macro; sencillamente usás "Diseño de página-Configurar página-Área de impresión"
O usás una macro con este código

ActiveSheet.PageSetup.PrintArea = Selection.Address

Ariel Reyes 12 mayo, 2015 00:40  

Y si el area de impresión fuese en otra página, ¿puedo colocar el nombre de la página en esas mismas celdas?

Jorge Dunkelman 12 mayo, 2015 07:08  

Suponiendo que en la celda G1 ponemos el nombre de la hoja, el código sería:

Sheets(CStr([G1])).PageSetup.printArea = [G2] & ":" & [G3]

Este código debe ser activado desde la hoja que contiene las celdas G1, G2 y G3

Alexandra De Vega y Fernandez Del Valle 03 noviembre, 2015 23:15  

que tal, estoy haciendo una macro donde al llenar un formato todas las celdas que lo conforman se desplacen hacia abajo. Mi formato va de A1 a AD70, al insertar el siguiente formato se desplaza esto hacia abajo, hasta ahí bien, mi problema es que tengo establecida el área de impresión y los saltos de página para que mi formato ocupe una página, a la hora de insertar logré que también se inserte una nueva área de impresión, pero a la hora de insertar un tercer formato ya este me queda fuera =( ¿Cómo puedo hacer para que la macro añada las 70 líneas a una nueva área de impresión? es decir 1 formato =A70:AD70, 2 formatos = A140:AD140, 3 formatos = A210:AD210 y así consecutivamente

pego aquí mi código

Sub Macro19()
'
' Macro19 Macro
'

'
ActiveWindow.SmallScroll Down:=-3
Range("A71:AD71").Select
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
Range("S70").Select
ActiveWindow.SmallScroll Down:=-18
Range("AD70").Select
ActiveWindow.SmallScroll Down:=-78
Range("A1:AD70").Select
Range("AD70").Activate
Selection.Copy
Selection.Insert Shift:=xlDown
ActiveWindow.SmallScroll Down:=3
Range("P71").Select
Application.CutCopyMode = False
ActiveSheet.PageSetup.PrintArea = "$A$1:$AD70"
ActiveWindow.SmallScroll Down:=-15
Range("AB58:AD58").Select
ActiveWindow.SmallScroll Down:=-51
Range("C9:AD58,E4:J4,E3:J3,E2:O2,U2:V2,Z2:AA2").Select
Range("Z2").Activate
Selection.ClearContents
Range("E2:O2").Select

Jorge Dunkelman 07 noviembre, 2015 17:43  

Alexandra, por favor lee lo que pongo en el enlace Ayuda (en la parte superior del blog).

Publicar un comentario

Google+ Followers

Seguidores

Google+ Badge

Términos Legales

  © Blogger template On The Road by Ourblogtemplates.com 2009

Back to TOP