Asignar números a letras

Os explico y aver si me podéis echar una mano
Quiero que por ejemplo al escribir "cf" (o cualquier texto que quiera) en una casilla de excel en otra me pusiese un numero determinado.
Ejemplo: si escribo en una casilla cf que en otra aparezca un 3, si escribo dr que aparezca un 2, si escribo tl que aparezca un 8, por decir algo
Respuesta
1
Te envío esta función :
Function txtNum(Valor) As String
    If Valor = "dr" Then Valor = 2
    If Valor = "cf" Then Valor = 3
    If Valor = "tl" Then Valor = 8
    miFormula = Valor
End Function
Esta Función la colocas en un Módulo.
¿Cómo?
1. En una Hoja Excel presiona Alt-F11 para ingresar al Editor de Visual Basic
2. En el menú de Opciones del Editor de Visual Basic, selecciona la opción Insertar y luego módulo. Aparecerá un módulo en blanco.
3. Copia la función de arriba en el módulo.
4. Cierra el Editor de Visual Basic.
Ahora ya tienes una fórmula que convertirá un texto en un número.
¿Cómo?
En la celda A1 colocas "dr"
En la celda B1 colocas la fórmula "=txtNum(A1)"
Si observas con atención el código, puedes ampliar la lista de textos a convertir, solo aumentanod la linea "If Valor = "texto" Then Valor = numero".
Pruébala y avisas.
Tengo un problema, al hacer el ejemplo que me has puesto me da una especie de error que me lleva a visual basic y pone
Error de compilación:
Se esperaba End de Function
Gracias de nuevo por las molestias
Vaya, lo siento
Me daba ese error porque se me pasó meter las dos ultimas lineas de la función
Ya he hecho todo y ahora no me da error sino que no aparece nada en la casilla que tenia que aparecer el numero
Vaya, a mi también se me pasó un detalle.
La función correcta es esta :
Function txtNum(Valor) As String
    If Valor = "dr" Then Valor = 2
    If Valor = "cf" Then Valor = 3
    If Valor = "tl" Then Valor = 8
    txtNum = Valor
End Function
Xd, muchas gracias por todo pero parece que el excel es caprichoso que sigue sin ir je je,
ahora me pone (al escribir en B1 "=txtNum(A1)":
Se ha detectado un nombre ambiguo: txtNum
Borra la función anterior.
Que solo quede en tu hoja de código la última que te he enviado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas