Como Manipular y cambiar barras de desplazamiento con VBA
Al grabar una macro, Excel incluye todo el movimiento de la barra de desplazamiento en el código. Normalmente, eliminamos este código porque simplemente no lo necesitamos. Pero ocasionalmente, resulta útil poder controlar las barras de desplazamiento y sus propiedades de visualización.
Mostrar u ocultar barras de desplazamiento
Las barras de desplazamiento se pueden mostrar u ocultar. Es una configuración a nivel de aplicación, por lo que se aplicará a todos los libros abiertos dentro de la aplicación.
El siguiente código muestra cómo ocultar o mostrar las barras de desplazamiento de todos los libros abiertos en la aplicación.
'Mostrar todas las barras de desplazamientoApplication.DisplayScrollBars = True'Ocultar todas las barras de desplazamientoApplication.DisplayScrollBars = False
A continuación se muestra cómo ocultar o mostrar las barras de desplazamiento horizontales o verticales del libro activo.
'Ocultar todo el desplazamiento vertical u horizontal BarActiveWindow.DisplayHorizontalScrollBar = FalseActiveWindow.DisplayVerticalScrollBar = False'Mostrar el desplazamiento vertical u horizontal BarActiveWindow.DisplayHorizontalScrollBar = TrueActiveWindow.DisplayVerticalScrollBar = True
Arreglar el área de desplazamiento
Arreglar el área de desplazamiento evitará que un usuario se desplace o seleccione cualquiera de las celdas fuera del rango especificado. Utilizo esto con paneles para que la pantalla del usuario siempre esté enfocada en la información clave, incluso si intenta desplazarse, no se lo permite.
'Establece el área de desplazamiento en un rango específicoActiveSheet.ScrollArea = "A10:D20"
'Restablecer el área de desplazamientoActiveSheet.ScrollArea = ""
Desplácese a una ubicación específica en la hoja de trabajo
El siguiente código muestra cómo desplazarse a una fila o columna específica. Cambie los valores de ScrollRow y ScrollColumn para cumplir con sus requisitos.
'Desplácese a una fila y columna específicasActiveWindow.ScrollRow = 1ActiveWindow.ScrollColumn = 10
Desplazarse por un número específico de filas o columnas
SmallScroll y LargeScroll se pueden utilizar para desplazar la ventana, utilizando la celda activa como punto de partida. La buena noticia es que incluso si el código intenta desplazarse por la posición horizontal o vertical para que sea menor que la Fila 1 o la Columna A, el código no creará un error.
'Desplazarse horizontal o verticalmente por un número específico de filas o columnasActiveWindow.SmallScroll Up:=100ActiveWindow.SmallScroll Down:=50ActiveWindow.SmallScroll ToRight:=8ActiveWindow.SmallScroll ToLeft:=8
'El método SmallScroll se puede aplicar dentro de una sola líneaActiveWindow.SmallScroll Up:=20, ToRight:=10
'El método SmallScroll se puede aplicar sin hacer referencia a la dirección.'Los argumentos deben presentarse en el orden que se muestra a continuación'ActiveWindow.SmallScroll ([Abajo], [Arriba], [Hacia la derecha], [Hacia la izquierda])ActiveWindow.SmallScroll 20, , 30,
'LargeScroll también existe como método. LongScroll se desplazará una página a la vez, en lugar de una fila/columna individualActiveWindow.LargeScroll Down:=2, ToLeft:=1
Los valores pueden ser números negativos. Arriba:=-20 es equivalente a Abajo:=20. Lo mismo ocurre con ToLeft y ToRight.
Deja una respuesta