Objeto de aplicación Excel VBA - Macros fáciles de Excel

Tabla de contenido

WorksheetFunction | ScreenUpdating | DisplayAlerts | Cálculo

La madre de todos los objetos es el propio Excel. Lo llamamos el Objeto de aplicación. El objeto de la aplicación da acceso a muchas opciones relacionadas con Excel.

Hoja de trabajo Función

Puede utilizar la propiedad WorksheetFunction en Excel VBA para acceder a las funciones de Excel.

1. Por ejemplo, coloque un botón de comando en su hoja de trabajo y agregue la siguiente línea de código:

Rango ("A3"). Valor = Application.WorksheetFunction.Average (Range ("A1: A2"))

Cuando hace clic en el botón de comando en la hoja de trabajo, Excel VBA calcula el promedio de los valores en la celda A1 y la celda A2 y coloca el resultado en la celda A3.

Nota: en lugar de Application.WorksheetFunction.Average, simplemente use WorksheetFunction.Average. Si observa la barra de fórmulas, puede ver que la fórmula en sí no está insertada en la celda A3. Para insertar la fórmula en la celda A3, use la siguiente línea de código:

Rango ("A3"). Valor = "= PROMEDIO (A1: A2)"

Actualización de pantalla

A veces puede resultarle útil deshabilitar la actualización de la pantalla (para evitar el parpadeo) mientras se ejecuta el código. Como resultado, su código se ejecutará más rápido.

1. Por ejemplo, coloque un botón de comando en su hoja de trabajo y agregue las siguientes líneas de código:

Dim i como entero
Para i = 1 a 10000
Rango ("A1"). Valor = i
Siguiente yo

Cuando hace clic en el botón de comando en la hoja de trabajo, Excel VBA muestra cada valor una pequeña fracción de segundo y esto puede llevar algún tiempo.

2. Para acelerar el proceso, actualice el código de la siguiente manera.

Dim i como entero
Application.ScreenUpdating = Falso
Para i = 1 a 10000
Rango ("A1"). Valor = i
Siguiente yo
Application.ScreenUpdating = True

Como resultado, su código se ejecutará mucho más rápido y solo verá el resultado final (10000).

DisplayAlerts

Puede indicarle a Excel VBA que no muestre alertas mientras ejecuta el código.

1. Por ejemplo, coloque un botón de comando en su hoja de trabajo y agregue la siguiente línea de código:

ActiveWorkbook.Close

Cuando hace clic en el botón de comando en la hoja de trabajo, Excel VBA cierra su archivo de Excel y le pide que guarde los cambios que realizó.

2. Para indicarle a Excel VBA que no muestre esta alerta mientras ejecuta el código, actualice el código de la siguiente manera.

Application.DisplayAlerts = Falso
ActiveWorkbook.Close
Application.DisplayAlerts = True

Como resultado, Excel VBA cierra su archivo de Excel, sin pedirle que guarde los cambios que realizó. Se pierden los cambios.

Cálculo

De forma predeterminada, el cálculo se establece en automático. Como resultado, Excel vuelve a calcular el libro automáticamente cada vez que cambia un valor que afecta a una fórmula. Si su libro de trabajo contiene muchas fórmulas complejas, puede acelerar su macro configurando el cálculo en manual.

1. Por ejemplo, coloque un botón de comando en su hoja de trabajo y agregue la siguiente línea de código:

Application.Calculation = xlCalculationManual

Cuando hace clic en el botón de comando en la hoja de trabajo, Excel VBA establece el cálculo en manual.

2. Puede verificar esto haciendo clic en Archivo, Opciones, Fórmulas.

3. Ahora, cuando cambia el valor de la celda A1, el valor de la celda B1 no se vuelve a calcular.

Puede volver a calcular manualmente el libro presionando F9.

4. En la mayoría de las situaciones, volverá a configurar el cálculo como automático al final de su código. Simplemente agregue la siguiente línea de código para lograr esto.

Application.Calculation = xlCalculationAutomatic

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave