Generalmente, cuando obtenemos datos de distintas bases de datos o diversas formas de ingreso por parte del usuario, los mismos suelen ser de tipo textual (string), aunque en apariencia se vean como datos num茅ricos o fechas. Esto acarrea distintos problemas, ya que pueden aparecer errores inesperados al hacer operaciones matem谩ticas, c谩lculos, f贸rmulas, operaciones l贸gicas y funciones de b煤squeda, cuando el tipo de dato no coincide con lo esperado. En estos casos, debemos hacer uso de las funciones de conversi贸n de tipos para "forzar" a que el dato concreto sea interpretado como necesitamos.
Pensemos un ejemplo sencillo donde debamos realizar la suma de dos valores que est谩n almacenados como strings:
resultado = "125" + "45"
El valor almacenado por resultado ser谩 12545 en lugar de 170 como ocurrir铆a en una operaci贸n matem谩tica habitual, dado que los valores se han concatenado al haber sido considerados textos por VBA.
Veamos entonces qu茅 funciones aplicar铆amos para convertir el tipo de dato en alguno que se ajuste a nuestras necesidades:
- CDbl (variable) > Convierte la variable en tipo Double
- CInt (variable) > Convierte la variable en tipo Integer
- CLng (variable) > Convierte la variable en tipo Long
- CSng (variable) > Convierte la variable en tipo Single
- CStr (variable) > Convierte la variable en tipo String
- CCur (variable) > Convierte la variable en tipo Currency
- CDate (variable) > Convierte la variable en tipo Date
Como en este caso estamos hablado de n煤meros enteros de magnitud suficientemente peque帽a, podemos perfectamente hacer uso de CInt para convertir los datos en Integers (enteros). Dicha conversi贸n puede aplicarse o bien para reasignar el valor a la variable antes de realizar el c谩lculo, o bien "en tiempo real" cuando necesitamos acceder al valor de estas variables.
num1 = "125"
num2 = "45"
resultado = CInt(num1) + CInt(num2)
o bien:
num1 = CInt(num1)
num2 = CInt(num2)
resultado = num1 + num2
Lo anterior depender谩 del hecho de si puedes o necesitas modificar el valor de la variable, o prefieres conservarlo como est谩. Por supuesto, si bien el anterior es un caso sencillo, las variables podr谩n contener cualquier tipo de informaci贸n, ya sea leida de una celda de tu libro, obtenida del usuario o extra铆da de otra fuente.
Como ves, la conversi贸n de tipos es tan 煤til como sencilla de implementar.