Excel VBA: cómo detectar que el ancho impreso es mayor que la altura impresa

Para configurar automáticamente el área de printing en el contenido de la hoja, estoy usando el siguiente código de VBA de Excel 2010:

Application.PrintCommunication = False With ActiveSheet.PageSetup .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = 1 End With Application.PrintCommunication = True 

eso funciona. Ahora, además, me gustaría detectar si el ancho impreso es mayor que la altura impresa, y luego cambiar a printing horizontal. Algo como esto:

 Application.PrintCommunication = False With ActiveSheet.PageSetup .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = 1 if .PrintedWidth > .PrintedHeight then ' how to detect it? .Orientation = xlLandscape end if End With Application.PrintCommunication = True 

¿Cómo puedo detectar si el ancho impreso es mayor que la altura impresa?

Veo que la propiedad PrintArea está vacía después de la autoajuste, por lo que no puedo usarla para detectar la condición.

Resuelto : simplemente compare el ancho y la altura del range ActiveSheet.UsedRange:

 If ActiveSheet.UsedRange.Width > ActiveSheet.UsedRange.Height Then .Orientation = xlLandscape End If 
    Intereting Posts