Funciones volátiles de Excel VBA: macros simples de Excel

Buenos días, por aquí Miguel y hoy os traigo un nuevo post.

De forma predeterminada, UDF (funciones definidas por el usuario) en Excel VBA no son volátiles. Solo se vuelven a calcular cuando cambia alguno de los argumentos de la función. A función volátil se volverá a calcular cada vez que se realice el cálculo en algunas celdas de la hoja de trabajo. Veamos un ejemplo simple para explicar esto un poco más.

1. Abra el Editor de Visual Basic y haga clic en Insertar, Módulo.

Crea una función llamada MYFUNCTION que devuelve la suma de la celda seleccionada y la celda debajo de esa celda.

2. Agregue las siguientes líneas de código:

Función MI FUNCIÓN (este Cómo Alcance)

MYFUNCTION = cell.Value + cell.Offset (1, 0) .Value

Aleta Función

3. Ahora puede utilizar esta función, como cualquier otra función de Excel.

Función no volátil en Excel VBA

4. Ésta es una función no volátil. Las funciones no volátiles solo se recalculan cuando cambia alguno de los argumentos de la función. Cambie el valor de la celda B2 a 8.

Cambios en el argumento de la función

5. Ahora cambie el valor de la celda B3 a 11.

Cualquier otro cambio de celda

Explicación: La función no volátil no se vuelve a calcular cuando cambia cualquier otra celda de la hoja.

6. Actualice la función de la siguiente manera para que la función sea volátil:

Función MI FUNCIÓN (este Cómo Alcance)

Solicitud. Volátil
MYFUNCTION = cell.Value + cell.Offset (1, 0) .Value

Aleta Función

7. Cambie el valor de la celda B3 a 12.

Resultado:

Función volátil en Excel VBA

Nota: Debe volver a ingresar la función para volatilizarla (o actualizarla colocando el cursor en la barra de fórmulas y presionando Enter).

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