0%

C贸digo VBA para controlar la configuraci贸n de Zoom de Excel

Excel tiene configuraciones de zoom para hojas de trabajo, formularios de usuario y configuraciones de impresi贸n. Cada uno de estos tiene diferentes prop贸sitos y se usa en diferentes puntos, pero todos pueden ser controlados por VBA.

脥ndice
  1. Configuraci贸n de zoom de la hoja de trabajo
    1. Zoom a la selecci贸n
    2. Transferir la configuraci贸n de zoom actual a una variable
    3. Cambiar las funciones de zoom de la rueda de desplazamiento del mouse
    4. El cuadro de di谩logo Zoom
  2. Imprimir zoom
  3. Zoom de formulario de usuario

Configuraci贸n de zoom de la hoja de trabajo

La configuraci贸n de zoom de la hoja de c谩lculo en Excel siempre ser谩 un n煤mero entero. Si el valor establecido por VBA contiene decimales, se redondear谩 hacia abajo al n煤mero entero m谩s cercano.

'Cambiar la configuraci贸n de zoom de la hoja de c谩lculo para la ventana activaActiveWindow.Zoom = 56
'Cambiar la configuraci贸n de zoom de la hoja de c谩lculo para cualquier ventana abiertaWindows("Book1.xlsx").Zoom = 56

Las configuraciones de zoom m铆nimas y m谩ximas permitidas son 10% y 400%.

Zoom a la selecci贸n

Excel contiene una configuraci贸n llamada Zoom a la selecci贸n, que se encuentra en la cinta Ver.

Ver zoom a la selecci贸n

Al hacer clic en este bot贸n, se ampliar谩 autom谩ticamente la hoja de trabajo activa para que se ajuste a las celdas seleccionadas. Esta opci贸n tambi茅n est谩 disponible dentro de la ventana Zoom.

Configuraci贸n de zoom Ajustar a la selecci贸n

La funci贸n Zoom a selecci贸n/Ajustar a selecci贸n se puede controlar con VBA, sin embargo, requiere seleccionar un rango. El siguiente c贸digo selecciona las celdas A1: J15 y ampl铆a la ventana al tama帽o de esas celdas.

'Acercar al rango de selecci贸n("A1:J15").SelectActiveWindow.Zoom = True

Transferir la configuraci贸n de zoom actual a una variable

La configuraci贸n de zoom se puede asignar a una variable para usarla m谩s adelante en el c贸digo.

'Configuraci贸n de la variable para la configuraci贸n de zoom de la ventana activaDim zoomSetting As IntegerzoomSetting = ActiveWindow.Zoom
'Configuraci贸n de variable para la configuraci贸n de zoom de cualquier ventana con nombre Dim zoomSetting As Integer zoomSetting = Windows("Book1.xlsx").Zoom

Cambiar las funciones de zoom de la rueda de desplazamiento del mouse

Pr谩cticamente todos los mouse tienen una rueda de desplazamiento o una funci贸n de desplazamiento similar. De forma predeterminada, la rueda se desplazar谩 hacia arriba y hacia abajo en la p谩gina, pero con Ctrl + desplazamiento del mouse se acercar谩 a una hoja de c谩lculo de Excel. Con VBA es posible revertir esta configuraci贸n cuando se usa en Excel.

'Zoom con desplazamiento souse, desplazamiento con Ctrl + desplazamiento del mouseApplication.RollZoom = True
'Zoom con Ctrl + desplazamiento del mouse, desplazamiento con desplazamiento del mouse (configuraci贸n predeterminada)Application.RollZoom = False

El cuadro de di谩logo Zoom

VBA puede activar la visualizaci贸n de la ventana Zoom.

El valor despu茅s de .Show es el tama帽o predeterminado seleccionado en la ventana. Si ese valor tambi茅n es un tama帽o est谩ndar, como 200%, 100%, 75%, etc., esa opci贸n se resaltar谩 autom谩ticamente en la ventana de Zoom.

'Mostrar ventana de Zoom incluye 150% como selecci贸n predeterminadaApplication.Dialogs(xlDialogZoom).Show (150)

No creo que sea posible capturar el valor solicitado desde la ventana de Zoom sin cambiar la configuraci贸n del zoom. Por lo tanto, como soluci贸n alternativa, es necesario asignar el valor original a una variable, cambiar la configuraci贸n del zoom, registrar el nuevo valor y luego volver al original.

'Capturar configuraci贸n de zoom desde el cuadro de di谩logo'Crear variable para mantener la configuraci贸n de zoomDim zoomSetting As IntegerzoomSetting = ActiveWindow.Zoom'Abrir el cuadro de di谩logo de zoom para cambiar la configuraci贸nApplication.Dialogs(xlDialogZoom).Show (zoomSetting)'Imprimir configuraci贸n de zoom en la ventana inmediataDebug.Print ActiveWindow.Zoom'Devuelve la configuraci贸n de zoom al estado originalActiveWindow.Zoom = zoomSetting

Imprimir zoom

Al imprimir un documento, hay diferentes configuraciones de zoom disponibles, que solo se aplican a documentos impresos.

Configuraci贸n de zoom: configuraci贸n de p谩gina

Esta configuraci贸n est谩 controlada por los siguientes ejemplos de VBA. Cada ejemplo se aplica a una hoja de trabajo llamada ZoomSettings, pero tambi茅n se podr铆a aplicar a ActiveSheet.

'Establece el nivel de zoomWorksheets("ZoomSettings").PageSetup.Zoom = 150
'Desactiva el nivel de zoom y ajusta a las p谩ginasWorksheets("ZoomSettings").PageSetup.Zoom = False
'Acercar a un n煤mero espec铆fico de p谩ginasWorksheets("ZoomSettings").PageSetup.FitToPagesWide = 5Worksheets("ZoomSettings").PageSetup.FitToPagesTall = 1

Zoom de formulario de usuario

El formulario de usuario de VBA tambi茅n incluye su propia configuraci贸n de zoom. Sin embargo, no es tan 煤til como podr铆a pensar, ya que cambia el tama帽o del formulario, solo los elementos del formulario. Para mantener las cosas en proporci贸n, es necesario cambiar el tama帽o del formulario usando las propiedades Alto y Ancho.

'Las configuraciones por debajo de este tama帽o cambiar谩n las proporciones del UserForm a 300%Dim zoomSetting As DoubleZoomSetting = 300'Mostrar UserFormUserForm1.Show'Cambiar la configuraci贸n de zoom de UserFormUserForm1.Zoom = ZoomSetting'Cambiar Ancho Alto en la misma proporci贸n que la configuraci贸n de ZoomUserForm1.Width = UserForm1.Width * ZoomSetting / 100UserForm1.Height = UserForm1.Height * ZoomSetting / 100

Los anchos m铆nimo y m谩ximo permitidos son 99 y 12287,5.

Las alturas m铆nima y m谩xima permitidas son 28,5 y 12287,5.

Si se le proporciona un valor fuera del rango permitido, VBA ajustar谩 autom谩ticamente la altura y el ancho UserFrom para que sean m铆nimo o m谩ximo. Esto puede dar lugar a formularios de usuario que no tengan las mismas proporciones.