jueves, 13 de octubre de 2022

VBA: Application.ThisCell

Una propiedad poco conocida del objeto Application es esta: ThisCell.
La cual nos devuelve especificamente la celda desde la cual se está ejecutando una UDF (función definida por el usuario), es decir, en qué celda se encuentra la función...

Esta propiedad es muy interesante si la combinamos con controles de error, lo que nos permite identificar en qué celda está fallando nuestra UDF.
Veamos un ejemplo. Creamos nuestra UDF en un módulo estándar de nuestro proyecto VBA:
Function fxMiDivision(dividendo As Long, divisor As Byte)
On Error GoTo trato_error

fxMiDivision = dividendo / divisor

Exit Function
trato_error:
Debug.Print Application.ThisCell.Address & " _ " & Err.Description
End Function

Si trasladamos nuestra función a las celdas C1:C10 de nuestra hoja de cálculo, veremos los siguientes mensajes en la ventana de inmediato.
VBA: Application.ThisCell


Sin duda una propiedad fácil de emplear y muy práctica para localizar fallos, entre otras cosas ;-)

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.