Lección 20: Scroll usando VBA en Excel (ScrollRow y ScrollColumn).

Escrito por Administrador

6 de septiembre de 2021

En esta lección vas a aprender cómo hacer scroll usando VBA en Excel, para enfocar la zona de la pantalla que más nos interese de manera automática mediante el uso de las propiedades ScrollRow y ScrollColumn. Aclaro que solo vamos a enfocar, es decir, a mover la pantalla para apuntar lo que nos interesa, en ningún caso vamos a borrar ninguna fila o columna.

Esto es útil, por ejemplo, cuando realizamos un cálculo, y el resultado lo vamos a copiar en una casilla concreta. Entonces, para no tener que movernos con las barras de desplazamiento o el ratón, lo que hacemos es enfocar directamente esa celda para ver el resultado más rápido.

Con ScrollRow, lo que hacemos es seleccionar que fila va a ser la primera en mostrarse en la matriz de celdas, es decir, si por ejemplo escribimos:

ActiveWindow.ScrollRow = Cells(5, "A").Row

La fila 5 será la primera fila visible. Da igual la columna que pongas (en este ejemplo aparece la columna A como valor introducido, pero daría lo mismo que hubiéramos puesto la columna Z o la D), este comando solo afecta a la visualización de las filas.

total-operaciones-matematicas-macros

Con ScrollColumn, lo que hacemos es seleccionar que columna va a ser la primera en mostrarse en la matriz de celdas, es decir, si por ejemplo escribimos:

ActiveWindow.ScrollColumn = Cells(1, "G").Column

La columna G será la primera columna visible. Da igual la fila que pongas (en este ejemplo aparece la fila 1, pero daría lo mismo que hubiéramos puesto la fila 34 o la 90), este comando solo afecta a la visualización de las columnas.

total-operaciones-matematicas-macros

Si combinamos ambos comandos podremos enfocar la pantalla para que la primera celda sea la fila 5, columna G.

total-operaciones-matematicas-macros

Vamos a hacer algún ejemplo práctico para que nos quede bien claro el concepto del scroll con VBA en Excel.

Crea un libro nuevo, abre el editor VBA e inserta 3 módulos. Copia en ellos las siguientes macros.

Macro 1. Calcular la media de un examen. El resultado queda fuera de la pantalla.

Sub Leccion20_1()

'Macro que calcula la nota media del examen

For i = 3 To 27

'Vamos guardando en la variable suma el valor de cada celda D más el acumulado que lleve

suma = suma + Cells(i, "D").Value          

Next

'La media es la suma de todas las notas dividida por el total de alumnos

media = suma / 25         

'Mostramos el resultado de la media en la celda D28                

Cells(28, "D").Value = media               

End Sub

Macro 2. Enfocar la pantalla en la celda del resultado.

Sub Leccion20_2()

'Macro que enfoca la pantalla para centrarla en la celda D28 donde se muestra el resultado

ActiveWindow.ScrollRow = Cells(16, "A").Row

End Sub

Macro 3. Restablecer la hoja de cálculo.

Sub Leccion20_3()

'Macro que restablece la hoja de cálculo

'Borramos la media calculada

Cells(28, "D").ClearContents                               

'Elegimos la fila 1 como la primera fila visible

ActiveWindow.ScrollRow = Cells(1, "A").Row                 

'Elegimos la columna A como la primera columna visible

ActiveWindow.ScrollColumn = Cells(1, "A").Column           

End Sub

Rellenamos la hoja de cálculo como se muestra en la figura. Para ello tendrás que crear tres botones a los que asociarás las macros anteriores.

A continuación, te dejo dos enlaces donde explico cómo configurar Microsoft Excel para el uso de macros y cómo asignar macros a botones, por si te interesan.

total-operaciones-matematicas-macros

La primera macro calcula la nota media del examen de forma automática. Este resultado queda fuera de la pantalla, tendrías que bajar para verlo. Pero no lo hagas. Para eso hemos creado la segunda macro.

total-operaciones-matematicas-macros

Cuando ejecutas la segunda macro, elegimos la fila 16 como la primera para que se muestre. Nuestro resultado lo tenemos en la fila 28, luego aparecerá más o menos centrado en la pantalla.

No hemos centrado columna porque en este ejemplo ya está más o menos centrada de por sí.

total-operaciones-matematicas-macros

La tercera macro va a borrar la nota media, elige la fila 1 como la primera fila a mostrar y la columna A como la primera columna a mostrar, por si queremos volver a probar.

total-operaciones-matematicas-macros

Aunque ahora a lo mejor os parezca una tontería, con el tiempo, le encontrareis la utilidad. En el próximo capítulo aprenderéis a cambiar de hoja e incluso de libro, y es interesante que al final de todo el proceso, la pantalla os muestre el resultado y no tener que navegar hasta él.

Con esto llegamos al final de la vigésima lección, en la que has aprendido a realizar scroll usando VBA en Excel.

Por último, quiero invitarte a compartir tus dudas en los comentarios o en el foro. Intentaré ayudarte en todo lo que pueda, y así aprenderemos todos.

Nos vemos en el próximo capítulo.

Si te ha servido y quieres donar

Descarga el archivo del ejemplo

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

« L19. Identificar máximo/mínimo de un rango con macros.

L21. Trabajar con distintas hojas y libros con macros. »

Categorías

marzo 2024
LMXJVSD
 123
45678910
11121314151617
18192021222324
25262728293031

Debates en el foro

Avatar
Formularios con ADO

Contacto