Hola tengo este problema cuando intento pasar de Hex a Dec con una cadena larga me da error Desbordamiento en la variable valor
Código:
'Declaración de variables locales
Dim cadena As String 'Almacena el valor del campo
Dim indice As Integer 'Lo usaremos para recorrer la cadena
Dim longitud As Integer 'Registra la longitud de la cadena
Dim caracter As String 'Almacena la letra actual
Dim valor As Long
Dim exponente As Integer
Private Sub Command1_Click()
cadena = Text1.Text
longitud = Len(cadena)
valor = 0
exponente = longitud - 1
For indice = 1 To longitud
'Vamos a recorrer la cadena e ir transformando cada caracter
caracter = Mid(cadena, indice, 1)
'Ya tenemos el caracter, ahora lo que tenemos que hacer es transformarlo
'y calcular su valor según su posición
Select Case caracter
Case "a"
valor = valor + (10 * (16 ^ exponente))
Case "A"
valor = valor + (10 * (16 ^ exponente))
Case "b"
valor = valor + (11 * (16 ^ exponente))
Case "B"
valor = valor + (11 * (16 ^ exponente))
Case "c"
valor = valor + (12 * (16 ^ exponente))
Case "C"
valor = valor + (11 * (16 ^ exponente))
Case "D"
valor = valor + (11 * (16 ^ exponente))
Case "d"
valor = valor + (13 * (16 ^ exponente))
Case "e"
valor = valor + (14 * (16 ^ exponente))
Case "E"
valor = valor + (11 * (16 ^ exponente))
Case "f"
valor = valor + (15 * (16 ^ exponente))
Case "F"
valor = valor + (11 * (16 ^ exponente))
Case Else
'Código en caso de que no sea letra
valor = valor + Int(caracter) * (16 ^ exponente)
End Select
exponente = exponente - 1
Next indice 'fin del for indice=1
Text1.Text = valor
End Sub
Gracias a quien pueda ayudarme