Objeto de la aplicación Excel VBA: macros simples de Excel

Hola, soy Miguel y durante el dia de hoy os traigo un nuevo post.

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

Función de hoja de trabajo

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"))

Al hacer 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.

Función de hoja de trabajo en Excel VBA

Nota: En lugar de Application.WorksheetFunction.Average, solo 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 sí 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 resultar útil desactivar la actualización de la pantalla (para evitar que parpadee) 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:

Oscuro me Cómo Entero

Para i = 1 Para 10000
Rango ("A1"). Valor = i
Entonces me

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 mucho tiempo.

Actualización de pantalla

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

Oscuro me Cómo Entero

Application.ScreenUpdating = Falso

Para i = 1 Para 10000
Rango ("A1"). Valor = i
Entonces me

Application.ScreenUpdating = Cierto

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 se 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 de la hoja de trabajo, Excel VBA cierra el archivo de Excel y le pide que guarde los cambios que realizó.

DisplayAlerts

2. Para decirle 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 = Cierto

Como resultado, Excel VBA cierra el archivo de Excel sin pedirle que guarde los cambios que realizó. Cualquier cambio se pierde.

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 contiene muchas fórmulas complejas, puede acelerar la macro configurando el cálculo manualmente.

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

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

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

Opciones de cálculo

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

Cálculo manual

Puede volver a calcular manualmente el libro presionando F9.

4. En la mayoría de situaciones, volverá a establecer el cálculo en automático al final de su código. Simplemente agregue la siguiente línea de código para obtenerlo.

Application.Calculation = xlCalculationAutomatic

Deja una respuesta

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

Subir

Esta página utiliza Cookies. Más info