Formula q cambie la cantidad d numero a letra [Resuelto/Cerrado]

Denunciar
-
 Rosa -
Hola,

Quisiera saber cómo se hace con una fórmula para que cuando yo escriba con número una cantidad me la transforme en letra. Gracias.

Configuración: Windows XP Internet Explorer 6.0

7 respuestas

Les paso un código que funciona bastante bien.

Péguenlo en un modulo de excel y después llama la función:

'Función para convertir los números a caracteres'


Function Num_texto(Numero)
Dim Texto
Dim Millones
Dim Miles
Dim Cientos
Dim Decimales
Dim Cadena
Dim CadMillones
Dim CadMiles
Dim CadCientos
Texto = Numero
Texto = FormatNumber(Texto, 2)
Texto = Right(Space(14) & Texto, 14)
Millones = Mid(Texto, 1, 3)
Miles = Mid(Texto, 5, 3)
Cientos = Mid(Texto, 9, 3)
Decimales = Mid(Texto, 13, 2)
CadMillones = ConvierteCifra(Millones, 1)
CadMiles = ConvierteCifra(Miles, 1)
CadCientos = ConvierteCifra(Cientos, 0)
If Trim(CadMillones) > "" Then
If Trim(CadMillones) = "UN" Then
Cadena = CadMillones & " MILLON"
Else
Cadena = CadMillones & " MILLONES"
End If
End If
If Trim(CadMiles) > "" Then
Cadena = Cadena & " " & CadMiles & " MIL"
End If
If Trim(CadMiles & CadCientos) = "UN" Then
Cadena = Cadena & "UNO CON " & Decimales & "/100"
Else
If Miles & Cientos = "000000" Then
Cadena = Cadena & " " & Trim(CadCientos) & " PESOS CON " & Decimales & " CTVOS"
Else
Cadena = Cadena & " " & Trim(CadCientos) & " PESOS CON " & Decimales & " CTVOS"
End If
End If
Num_texto = Trim(Cadena)
End Function

Function ConvierteCifra(Texto, SW)
Dim Centena
Dim Decena
Dim Unidad
Dim txtCentena
Dim txtDecena
Dim txtUnidad
Centena = Mid(Texto, 1, 1)
Decena = Mid(Texto, 2, 1)
Unidad = Mid(Texto, 3, 1)
Select Case Centena
Case "1"
txtCentena = "CIEN"
If Decena & Unidad <> "00" Then
txtCentena = "CIENTO"
End If
Case "2"
txtCentena = "DOSCIENTOS"
Case "3"
txtCentena = "TRESCIENTOS"
Case "4"
txtCentena = "CUATROCIENTOS"
Case "5"
txtCentena = "QUINIENTOS"
Case "6"
txtCentena = "SEISCIENTOS"
Case "7"
txtCentena = "SETECIENTOS"
Case "8"
txtCentena = "OCHOCIENTOS"
Case "9"
txtCentena = "NOVECIENTOS"
End Select

Select Case Decena
Case "1"
txtDecena = "DIEZ"
Select Case Unidad
Case "1"
txtDecena = "ONCE"
Case "2"
txtDecena = "DOCE"
Case "3"
txtDecena = "TRECE"
Case "4"
txtDecena = "CATORCE"
Case "5"
txtDecena = "QUINCE"
Case "6"
txtDecena = "DIECISEIS"
Case "7"
txtDecena = "DIECISIETE"
Case "8"
txtDecena = "DIECIOCHO"
Case "9"
txtDecena = "DIECINUEVE"
End Select
Case "2"
txtDecena = "VEINTE"
If Unidad <> "0" Then
txtDecena = "VEINTI"
End If
Case "3"
txtDecena = "TREINTA"
If Unidad <> "0" Then
txtDecena = "TREINTA Y "
End If
Case "4"
txtDecena = "CUARENTA"
If Unidad <> "0" Then
txtDecena = "CUARENTA Y "
End If
Case "5"
txtDecena = "CINCUENTA"
If Unidad <> "0" Then
txtDecena = "CINCUENTA Y "
End If
Case "6"
txtDecena = "SESENTA"
If Unidad <> "0" Then
txtDecena = "SESENTA Y "
End If
Case "7"
txtDecena = "SETENTA"
If Unidad <> "0" Then
txtDecena = "SETENTA Y "
End If
Case "8"
txtDecena = "OCHENTA"
If Unidad <> "0" Then
txtDecena = "OCHENTA Y "
End If
Case "9"
txtDecena = "NOVENTA"
If Unidad <> "0" Then
txtDecena = "NOVENTA Y "
End If
End Select

If Decena <> "1" Then
Select Case Unidad
Case "1"
If SW Then
txtUnidad = "UN"
Else
txtUnidad = "UNO"
End If
Case "2"
txtUnidad = "DOS"
Case "3"
txtUnidad = "TRES"
Case "4"
txtUnidad = "CUATRO"
Case "5"
txtUnidad = "CINCO"
Case "6"
txtUnidad = "SEIS"
Case "7"
txtUnidad = "SIETE"
Case "8"
txtUnidad = "OCHO"
Case "9"
txtUnidad = "NUEVE"
End Select
End If
ConvierteCifra = txtCentena & " " & txtDecena & txtUnidad
End Function
543
Gracias

Unas palabras de agradecimiento nunca están de más. Deja tu comentario

CCM 35697 usuarios nos han dicho gracias este mes

Excelente....
Mil gracias, un genio!
Gracias fue excelente
Gracias... perfecto
convertidor de numeroa aletras
¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿QUE??????????????????

A MANO????????????????

SOBERANA ESTUPIDEZ; POR SU PUESTO QUE SE PUEDE, PERO NECESITAS SABER PROGRAMAR EN CMOS VISUAL BASIC Y DESPUES COLOCAR LA FORMULA
Message postés
55
Date d'inscription
miércoles, 8 de julio de 2009
Estatus
Miembro
Última intervención
martes, 2 de marzo de 2010
32
En visualbasic se puede, en cualquier lenguaje tambien pero en EXCEL lo que respecta acá NO
Excelente tu explicación!!! me sirvió al 100% y me ahorró un montón de trabajo... Gracias...
Hola Gabo:

Es gratificante poder compartir un poco de nuestros conocimientos.

Saludos.

Teresa de Jesús.
ALGUIEN ME PUEDE APOYAR PARA REALIZARLO PASO A PASO YA QUE NO HE PODIDO HACER EFECTIVO EL EJERCICIO
Ve a la barra de menús, en herramientas en la opción de macro, y en editor de visual basic, te pocisionas en el nombre de tu archivo, enseguida insertar módulo, donde dice módulo 1, en el área de trabajo a tu izquierda pegas la fórmula. Guarda los cambios y cierras, te vas a tu hoja de calculo y te vas a la opción de insertar función, =NUMERO_TEXTO(aquí va la celda en dode pondrás la cantidad en números por ejemplo: A1)
Y SI ES WINDOW XP?? NO EWNCUENTRO EL EDITOR DE VB
Message postés
55
Date d'inscription
miércoles, 8 de julio de 2009
Estatus
Miembro
Última intervención
martes, 2 de marzo de 2010
32
Funcion no hay, se tiene que hacer casi a mano sabes?
Message postés
20
Date d'inscription
martes, 7 de julio de 2009
Estatus
Miembro
Última intervención
miércoles, 15 de julio de 2009
8
Para cambiarle la letra de unidad a un dispositivo en Windows XP, tenemos que iniciar la consola de administración de sistema
Click derecho sobre Mi PC y seleccionando Administrar.
Una vez allí, seleccionaremos el Administrador de discos y haremos clic con el ratón derecho sobre el dispositivo al que queramos cambiarle la letra de unidad, seleccionando la opción Cambiar letra de unidad y ruta y especificando la nueva letra de unidad que queramos darle.
no es sobre eso es k en excel cuando yo escriba una cantidad por ejemplo 125 en una celda al dar yo enter me la escriba en letra ciento veinte y cienco eso es lo k necesito saber pero de todos modos gracias y si me puedes ayudar seria genial