Lección 20: Enfocar una zona de la pantalla (ScrollRow y ScrowColumn) con macros.

Escrito por Administrador

24 de agosto de 2021

En esta lección vas a aprender cómo se puede 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.

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

Macro 1

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

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

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.

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. Espero que te esté gustando el curso y que me plantees cualquier duda que te surja. También puedes proponerme macros que te interese desarrollar y las voy incluyendo en el temario, soy todo oídos. Nos vemos en el próximo capítulo.

Descarga el archivo del ejemplo

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

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

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.

Quizá te interese,

Contacto