Actualizar una fórmula automaticamente

En ocasiones se va a requerir que una función se actualice de forma automática cada vez que ocurre un cambio, para ello se mostrará con dos ejemplos esta característica.

Por ejemplo con el siguiente código:

Function N_Archivo1() As String
N_Archivo1 = ActiveSheet.Name
End Function

Obtenemos el nombre de la hoja actual, puedes copiar el código y pegarlo en un módulo de VBA y llama a la función, escribiendo =N_Archivo1( ). Al final encontrarás un archivo Excel con los ejemplos. Vemos pues que nos devuelve como texto el nombre de la hoja, pero si cambiamos el nombre de la hoja verás que la función no se actualiza por si misma, se puede seleccionar la celda y con las teclas F2 + ENTER, se actualizará el nombre.

Vemos que realizar este procedimiento resulta incómodo, en especial si es que se tiene la función personalizada de Excel VBA en diferentes partes de la hoja, para hacer que la función creada se actualice automáticamente o sola, se agrega el método .Volatile a la función, el código quedaría de la siguiente manera:

Function N_Archivo2() As String
Application.Volatile
N_Archivo2 = ActiveSheet.Name
End Function

Entonces si es que llamamos a la función N_Archivo2( ) al cambiar el nombre de la hoja el valor de la celda cambiará automáticamente. Suerte.

Posted in excel, excel programming, excel vba ejemplos

Facebook comments:

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Make a computation for validation *
Time limit is exhausted. Please reload CAPTCHA.

Traducir

Read previous post:
Creando colecciones de objetos de clase

En el post anterior se aprendió como usar colecciones, vimos que se usaron los Módulos de Clase para definir objetos...

Close