División desigual de la pantalla entre dos libros de trabajo (Microsoft Excel)
A menudo, cuando Dave tiene dos libros abiertos, utiliza Organizar | Horizontal para verlos simultáneamente. Esto divide el espacio de manera uniforme entre los dos libros de trabajo. Sin embargo, a menudo sucede que a Dave le gustaría ver solo unas pocas filas de datos en un libro de trabajo y muchas filas en el otro. Se pregunta si hay una manera conveniente de ajustar manualmente el tamaño del libro más pequeño y hacer que Excel llene el espacio restante en la pantalla con el segundo libro.
La forma manual de hacer esto es una con la que Dave (y la mayoría de los otros usuarios de Excel) ya están familiarizados: usted organiza las ventanas horizontalmente, cambia el tamaño de la ventana superior y luego cambia el tamaño de la ventana inferior. De esta forma conseguirás que las ventanas estén exactamente como quieres para hacer tu trabajo.
Si desea una forma más automática de cambiar el tamaño de las ventanas, puede usar una macro para realizar la tarea. La siguiente macro depende de que usted cambie el tamaño de la primera ventana de la manera que desee y luego automáticamente cambia el tamaño de la segunda ventana para ocupar el espacio restante debajo de la ventana superior.
Sub UnevenSplit1() Dim Ht0 As Single Dim Ht1 As Single Dim Ht2 As Single Dim Top2 As Single If Windows.Count = 2 Then With Windows(1) Ht1 = .Height .WindowState = xlMaximized Ht0 = .Height End With Top2 = Ht1 + 3 Windows.Arrange ArrangeStyle:=xlHorizontal With Windows(1) .Top = 1 .Height = Ht1 End With With Windows(2) .Top = Top2 .Height = Ht0 - Ht1 - 22 End With Windows(1).Activate End If End Sub
La macro solo cambiará el tamaño de las ventanas de su libro de trabajo si solo tiene dos libros abiertos. Si tiene más o menos que esto, parecerá que no pasa nada.
Puede llevar la automatización un paso más haciendo que la macro también cambie el tamaño de la ventana superior. El siguiente ejemplo termina con su ventana superior ocupando el 25% de la pantalla y la ventana inferior ocupando el 75%.
Sub UnevenSplit() Dim Ht1 As Single Dim Ht2 As Single Dim Ht1a As Single Dim Ht2a As Single Dim Top2 As Single If Windows.Count = 2 Then Windows.Arrange ArrangeStyle:=xlHorizontal Ht1 = Windows(1).Height Ht2 = Windows(2).Height Ht1a = Ht1 / 2 Top2 = Ht1a + 3 Ht2a = Ht2 + Ht1a With Windows(1) .Top = 1 .Height = Ht1a End With With Windows(2) .Top = Top2 .Height = Ht2a End With Windows(1).Activate End If End Sub
También debe tener en cuenta que el valor de esta macro depende, en gran parte, de lo que tenga visible en sus ventanas. Si tiene las cintas en su profundidad vertical completa, eso ocupa mucho espacio en la pantalla. De hecho, puede tomar tanto que, aunque la ventana superior ocupa el 25% de la altura de la pantalla, es posible que no muestre ninguna fila de la hoja de trabajo porque el espacio está ocupado por la cinta y otros elementos de la interfaz.
Hay dos posibles soluciones. La primera es minimizar los elementos de la pantalla, como la cinta. (Haga doble clic en cualquier pestaña de la cinta para minimizar la cinta.) La otra solución, por supuesto, es hacer que la macro use diferentes cálculos para determinar los tamaños finales de las ventanas. (Las alturas finales de las ventanas están en las variables Ht1a y Ht2a.)
_Nota: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.
link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (13380) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365.