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

- - Última respuesta:  Juan - 28 abr 2018 a las 14:09
Hola,

sabes quisiera saber como se le hace con formula que cuando yo escbriba con numero una cantidad me la transforme a letra
Ver más 

7 respuestas

Mejor respuesta
535
Gracias
Va un codigo que funciona bastante bien; pegalo en un modulo de excel y despues llama la funcion

'Funcion para convertir los numeros 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

Deja un "Gracias" 535

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

CCM 37200 usuarios nos han dicho gracias este mes

excelente!! Funcionó super bien!!!
Excelente....
Mil gracias, un genio!
Gracias fue excelente
82
Gracias
convertidor de numeroa aletras
13
Gracias
no me funciona
12
Gracias
¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿QUE??????????????????

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

SOBERANA ESTUPIDEZ; POR SU PUESTO QUE SE PUEDE, PERO NECESITAS SABER PROGRAMAR EN CMOS VISUAL BASIC Y DESPUES COLOCAR LA FORMULA
PhenomII
Publicaciones
55
Fecha de inscripción
miércoles, 8 de julio de 2009
Estatus
Miembro
Última intervención
martes, 2 de marzo de 2010
30 -
En visualbasic se puede, en cualquier lenguaje tambien pero en EXCEL lo que respecta acá NO
12
Gracias
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
Publicaciones
55
Fecha de inscripción
miércoles, 8 de julio de 2009
Estatus
Miembro
Última intervención
martes, 2 de marzo de 2010
30
9
Gracias
Funcion no hay, se tiene que hacer casi a mano sabes?
Publicaciones
20
Fecha de inscripción
martes, 7 de julio de 2009
Estatus
Miembro
Última intervención
miércoles, 15 de julio de 2009
8
8
Gracias
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