Funciones volátiles de Excel VBA: macros de Excel fáciles

Tabla de contenido

De forma predeterminada, las 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 siempre que se produzca un cálculo en cualquier celda de la hoja de trabajo. Echemos un vistazo a un ejemplo sencillo para explicar esto un poco más.

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

Cree una función llamada MYFUNCTION que devuelva la suma de la celda seleccionada y la celda debajo de esta celda.

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

Función MYFUNCTION (celda como rango)
MYFUNCTION = cell.Value + cell.Offset (1, 0) .Value
Función final

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

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.

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

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 MYFUNCTION (celda como rango)
Aplicación.Volatile
MYFUNCTION = cell.Value + cell.Offset (1, 0) .Value
Función final

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

Resultado:

Nota: debe ingresar la función nuevamente para que sea volátil (o actualizarla colocando el cursor en la barra de fórmulas y presionando enter).

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

wave wave wave wave wave