¿Cómo usar la función TypeName en VBA?

La función `TypeName` en VBA (Visual Basic for Applications) se utiliza para obtener el tipo de datos de una variable o de un objeto. Esta función es útil cuando necesitas saber el tipo específico de un elemento en tiempo de ejecución, especialmente cuando estás trabajando con variantes o con objetos COM que pueden ser de diferentes tipos.

Aquí tienes una guía sobre cómo usar la función `TypeName` en VBA:

Sintaxis

TypeName(expression)
  • expression: Este es el valor o la variable cuyo tipo deseas verificar.

Ejemplos de uso

   Sub EjemploTipoVariable()
       Dim numero As Integer
       Dim texto As String
       Dim fecha As Date

       numero = 10
       texto = "Hola"
       fecha = Now

       MsgBox "Tipo de 'numero': " & TypeName(numero)    ' Devuelve "Integer"
       MsgBox "Tipo de 'texto': " & TypeName(texto)      ' Devuelve "String"
       MsgBox "Tipo de 'fecha': " & TypeName(fecha)      ' Devuelve "Date"
   End Sub
   Sub EjemploTipoObjeto()
       Dim hoja As Worksheet
       Set hoja = ActiveSheet

       MsgBox "Tipo de 'hoja': " & TypeName(hoja)         ' Devuelve "Worksheet"
   End Sub
   Sub EjemploConVariant()
       Dim variable As Variant

       variable = 123
       MsgBox "Tipo de 'variable' con valor 123: " & TypeName(variable)    ' Devuelve "Integer"

       variable = "Texto"
       MsgBox "Tipo de 'variable' con valor 'Texto': " & TypeName(variable) ' Devuelve "String"
   End Sub
  • Obtener el tipo de datos de una variable simple:
  • Verificar el tipo de un objeto:
  • Uso con variables de tipo Variant:

Consideraciones

  • `TypeName` es particularmente útil para el manejo de errores donde necesitas verificar el tipo de datos antes de realizar operaciones que podrían fallar si el tipo de datos es incorrecto.
  • Si usas `TypeName` con un objeto que no ha sido inicializado (por ejemplo, un objeto que no está configurado con `Set`), podría devolver “Nothing”.
  • En el caso de las colecciones u objetos más complejos, `TypeName` devuelve el nombre específico de la clase del objeto.

Usar `TypeName` te ayudará a escribir código VBA más robusto y depurado, permitiéndote trabajar con diferentes tipos de datos de manera más segura.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project