Actualización de pantalla de Excel VBA

Cuando ejecutamos cualquier macro VBA con un gran conjunto de códigos, el código se completa pero en el fondo obtenemos datos de procesamiento en forma de ejecución o esperando el puntero. Y una vez hecho, solo podemos ver la salida. La forma regular no es la forma correcta de ver cómo se actualizan los valores ejecutando código. Por ejemplo, supongamos que hemos escrito el código para generar algunos números en 100 celdas. Ahora ese código podría simplemente generar la salida sin mostrar cómo se imprimen los números. Para resolver esto, tenemos VBA ScreenUpdating . ScreenUpdating en VBA nos ayuda a ver cómo el código genera la salida. Esto podría ser números, texto, alfabetos o combinación. Una vez que ejecutamos el bucle de código, con VBA ScreenUpdating pudimos ver cómo se generan los números.

¿Cómo usar la aplicación ScreenUpdating en Excel VBA?

Aprenderemos cómo usar la aplicación ScreenUpdating en Excel usando el Código VBA.

Puede descargar esta plantilla VBA ScreenUpdating Excel aquí - Plantilla VBA ScreenUpdating Excel

Se puede notar VBA ScreenUpdating mientras ejecutamos el código o la macro. Mientras se ejecuta el código, podremos ver cómo nuestra pantalla se actualiza con los valores generados por el código escrito en VBA. En lugar de ver el viejo signo de espera, con la ayuda de VBA ScreenUpdating podemos ver cómo la pantalla está actualizando los valores de salida de VBA ScreenUpdating. Ahora con eso, también podemos ver que el nombre del artículo en sí mismo define su trabajo, VBA ScreenUpdating .

VBA ScreenUpdating - Ejemplo # 1

En este ejemplo, veremos un código simple para actualizar la pantalla. Para esto, necesitamos algunas celdas con números, como se muestra a continuación. Para esto, siga los pasos a continuación:

Paso 1: abra un módulo desde la pestaña del menú Insertar como se muestra a continuación.

Paso 2: ahora escriba el subprocedimiento a nombre de VBA ScreenUpdating como se muestra a continuación.

Código:

 Sub Screen_Update1 () End Sub 

Paso 3: Ahora copiaremos los números de la celda A1: A3 a cualquier otra celda. Digamos que la celda sea C1: C3 con la ayuda del siguiente código.

Código:

 Sub Screen_Update1 () Rango ("A1"). Rango de copia ("C1") Rango ("A2"). Rango de copia ("C2") Rango ("A3"). Rango de copia ("C3") Fin Sub 

Paso 4: Ahora, si ejecutamos este código, solo podríamos obtener el resultado que se copia de los valores de la columna A a la C. Ahora utilizaremos la aplicación ScreenUpdating como se muestra a continuación.

Código:

 Sub Screen_Update1 () Application.ScreenUpdating Range ("A1"). Copy Range ("C1") Range ("A2"). Copy Range ("C2") Range ("A3"). Copy Range ("C3") End Sub 

Paso 5: Ponemos un signo igual para seleccionar los valores booleanos que son VERDADEROS o FALSOS. Seleccionaremos FALSO para detener la actualización de la pantalla.

Código:

 Sub Screen_Update1 () Application.ScreenUpdating = False Range ("A1"). Copy Range ("C1") Range ("A2"). Copy Range ("C2") Range ("A3"). Copy Range ("C3" ) Fin Sub 

Paso 6: Ejecute el código presionando la tecla F5 o haciendo clic en el botón Reproducir ubicado debajo de la cinta de menú. Veremos que los valores se copian de la columna A a la C.

Esto podría verse más claramente si tenemos un gran conjunto de números.

Actualización de pantalla de VBA - Ejemplo # 2

Veamos otro ejemplo para ScreenUpdating. Esta vez consideremos el número del 1 al 20 de la celda A1 a A20 como se muestra a continuación.

Para usar la aplicación de actualización de pantalla, siga los pasos a continuación:

Paso 1: escriba el subprocedimiento de actualización de pantalla de VBA como se muestra a continuación.

Código:

 Sub Screen_Update2 () End Sub 

Paso 2: Ahora escriba el código para seleccionar la celda de rango de A1 a A20 y cópielos en B1 a F20 como se muestra a continuación. De manera similar a como vimos en el ejemplo-1.

Código:

 Sub Screen_Update2 () Range ("A1: A20"). Copy Range ("B1: F20") End Sub 

Paso 3: para aplicar la aplicación de actualización de pantalla, nuevamente utilizaremos una línea de código similar que hemos visto en el ejemplo-1.

Código:

 Sub Screen_Update2 () Application.ScreenUpdating = False Range ("A1: A20"). Copy Range ("B1: F20") End Sub 

La aplicación ScreenUpdating como FALSE utilizada anteriormente nos permitirá ver cómo el código VBA actualiza la pantalla. Como tenemos más números, hay posibilidades de que podamos ver la actualización de la pantalla.

Paso 4: Ejecute el código presionando la tecla F5 o haciendo clic en el botón Reproducir. Podríamos ver que el valor se actualiza.

Actualización de pantalla de VBA - Ejemplo # 3

Hay otra forma de ver cómo se actualiza la pantalla. Esto podría hacerse con la ayuda del For-Next Loop. En este ejemplo, imprimiremos los números en una matriz combinada de Fila y Columna. Para esto, siga los pasos a continuación:

Paso 1: escriba el subprocedimiento de VBA ScreenUpdating.

Código:

 Sub Screen_Updating3 () End Sub 

Paso 2: Ahora declare las 2 variables para Fila y Columnas por separado como tipo de datos Largo.

Código:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long End Sub 

Paso 3: Ahora declara otra variable que usaremos como referencia para comenzar los números.

Código:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long End Sub 

Paso 4: Ahora proporcione el número de referencia desde qué posición queremos comenzar el conteo. Aquí lo estamos dando como 0.

Código:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 End Sub 

Paso 5: ahora abra un bucle For y proporcione el recuento de las columnas y filas que desean ver la actualización. Digamos del 1 al 50.

Código:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 For RowCount = 1 To 50 End Sub 

Paso 6: Para continuar el ciclo, asigne a MyNumber la variable +1.

Código:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 For RowCount = 1 To 50 For ColumnCount = 1 To 50 MyNumber = MyNumber + 1 End Sub 

Paso 7: Ahora seleccione las variables Fila y Columna en la función Celda. Y luego seleccione los valores almacenados en ellos y asígnelos a la variable MyNumber.

Código:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 For RowCount = 1 To 50 For ColumnCount = 1 To 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount) .Select Cells (RowCount, ColumnCount) .Value = MyNumber End Sub 

Paso 8: Ahora cierra el Loop por Siguiente. Incluya las variables de fila y columna que definimos y usamos en el ciclo For-Next.

Código:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 For RowCount = 1 To 50 For ColumnCount = 1 To 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount) .Select Cells (RowCount, ColumnCount) .Value = MyNumber Next ColumnCount Next RowCount End Sub 

Paso 9: ahora no hemos insertado la aplicación Screenupdating todavía. Ahora inserte la aplicación Screenupdating como FALSE antes del inicio del ciclo y como VERDADERO al final del ciclo como se muestra a continuación.

Código:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long Application.ScreenUpdating = False MyNumber = 0 For RowCount = 1 To 50 For ColumnCount = 1 To 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount) .Seleccione las celdas (RowCount, ColumnCount) .Value = MyNumber Next ColumnCount Next RowCount Application.ScreenUpdating = True End Sub 

Ahora compile el código completo paso a paso presionando la tecla de función F8 y luego ejecútelo si no se encuentra ningún error. Veremos cómo cada celda de las filas y columnas seleccionadas se actualiza con los valores almacenados en ella.

Pros de Excel VBA ScreenUpdating

  • Es bastante útil ver cómo se actualiza la pantalla con el valor almacenado en el bucle.
  • Podemos usar Screenupdating si queremos cambiar entre hojas de trabajo y libros de trabajo.
  • Podemos usar cualquier rango de números.

Cosas para recordar

  • Usamos la inserción del bucle For-Next como marco o primero, podemos satisfacer la condición del bucle For y luego cerrarlo con Next.
  • VBA ScreenUpdating es bastante útil y visible si estamos usando un gran conjunto de números.
  • Una vez hecho esto, guarde el archivo de Excel ya que Macro habilita el formato de Excel.
  • VBA ScreenUpdating también se puede usar para crear una macro a través de la cual podemos enviar correos electrónicos.

Artículos recomendados

Esta es una guía para VBA ScreenUpdating. Aquí discutimos cómo usar la aplicación ScreenUpdating en Excel VBA junto con ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. Colección VBA (Ejemplos)
  2. Declaraciones VBA IF | Plantillas Excel
  3. ¿Cómo utilizar la función de clasificación de Excel VBA?
  4. VBA While Loop (Ejemplos con plantilla de Excel)
  5. VBA Environ

Categoría: