300 Ejemplos

Funciones volátiles

Volatile Functions

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.

redondear al entero más cercano

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ónMYFUNCTION (celdaComoDistancia)

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

Fin 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.

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ónMYFUNCTION (celdaComoDistancia)

Aplicación.Volatile
MYFUNCTION = cell.Value + cell.Offset (1, 0) .Value

Fin Función

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

Resultado:

Excel congelar tanto la fila superior como la primera columna

Función volátil en Excel VBA

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

4/5 Completado! Más información sobre funciones y subs>
Ir al capítulo siguiente: Objeto de aplicación



^