Tags Palabras claves

Convertir numero a letras

10/02/2005 - 21:38 por Armando Ballesteros S. | Informe spam
Hola, como le hago para convertir un número a letras. Ejem 14 a catorce?

Gracias

Preguntas similare

Leer las respuestas

#6 Pilar Mueckay [MVP - Office]
12/02/2005 - 04:22 | Informe spam
Francesc,

Retrocedamos entonces mucho más.

Una función personalizada la creas en el editor de Visual Basic de Excel
(ALT+F8, o Herramientas > Macros > Editor de VB. Luego, el código que te han
pasado debes pegarlo como un módulo en el libro en ese editor de VB.

Finalmente, podrás ver esta función personalizada desde el menú Insertar >
Función.

Espero que esto sea de ayuda. Si tienes más preguntas o requieres asistencia
extra, con toda confianza vuelve a postear aquí.

menteAtenta,
Pilar Mueckay [MVP - Office]
Ecuador
**** Si usas la Web para leer estos Grupos de Noticias, vota si las
aportaciones te ayudaron o no ****



En news:%,,
Francesc escribió:
Y una vez copiada en una hoja, ¿Con qué nombre y formato, y dónde debe
guardarse?

Israel,

Lo que has creado es un función personalizada. ¿Dönde están las
funciones de Excel? En menú Insertar > Función > en Categoría
selecciona "Definidas por el Usuario", ahí verás tu función
"ConvierteNumLetra" Espero que esto sea de ayuda. Si tienes más preguntas
o requieres
asistencia extra, con toda confianza vuelve a postear aquí.

menteAtenta,
Pilar Mueckay [MVP - Office]
Ecuador
**** Si usas la Web para leer estos Grupos de Noticias, vota si las
aportaciones te ayudaron o no ****



En news:,,
Isrrael escribió:
perdón pero como hago para que funcione..., ya copie y pegue en un
libro en blanco, pero no se como funciona
Gracias por adelantado
Isrrael
"Armando Ballesteros S." wrote in message
news:Odz$
Ya, Gracias. Se las pongo por si a alguien le sirve:

Function ConvierteNumLetra(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) & " CON " & Decimales &
"/100" Else
Cadena = Cadena & " " & Trim(CadCientos) & " CON " & Decimales &
"/100" End If
End If
ConvierteNumLetra = 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


"Armando Ballesteros S." escribió en el
mensaje news:%
Hola, como le hago para convertir un número a letras. Ejem 14 a
catorce? Gracias
Respuesta Responder a este mensaje
#7 Francesc
14/02/2005 - 00:01 | Informe spam
Gracias Pilar, pero por lo que veo no consigo guardarlo adecuadamente y no
puedo hacerlo funcionar.
¿Puedes ayudarme algo más?
Francesc
"Pilar Mueckay [MVP - Office]" escribió en el
mensaje news:%
Francesc,

Retrocedamos entonces mucho más.

Una función personalizada la creas en el editor de Visual Basic de Excel
(ALT+F8, o Herramientas > Macros > Editor de VB. Luego, el código que te
han pasado debes pegarlo como un módulo en el libro en ese editor de VB.

Finalmente, podrás ver esta función personalizada desde el menú Insertar >
Función.

Espero que esto sea de ayuda. Si tienes más preguntas o requieres
asistencia extra, con toda confianza vuelve a postear aquí.

menteAtenta,
Pilar Mueckay [MVP - Office]
Ecuador
**** Si usas la Web para leer estos Grupos de Noticias, vota si las
aportaciones te ayudaron o no ****



En news:%,,
Francesc escribió:
Y una vez copiada en una hoja, ¿Con qué nombre y formato, y dónde debe
guardarse?

Israel,

Lo que has creado es un función personalizada. ¿Dönde están las
funciones de Excel? En menú Insertar > Función > en Categoría
selecciona "Definidas por el Usuario", ahí verás tu función
"ConvierteNumLetra" Espero que esto sea de ayuda. Si tienes más
preguntas o requieres
asistencia extra, con toda confianza vuelve a postear aquí.

menteAtenta,
Pilar Mueckay [MVP - Office]
Ecuador
**** Si usas la Web para leer estos Grupos de Noticias, vota si las
aportaciones te ayudaron o no ****



En news:,,
Isrrael escribió:
perdón pero como hago para que funcione..., ya copie y pegue en un
libro en blanco, pero no se como funciona
Gracias por adelantado
Isrrael
"Armando Ballesteros S." wrote in message
news:Odz$
Ya, Gracias. Se las pongo por si a alguien le sirve:

Function ConvierteNumLetra(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) & " CON " & Decimales &
"/100" Else
Cadena = Cadena & " " & Trim(CadCientos) & " CON " & Decimales &
"/100" End If
End If
ConvierteNumLetra = 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


"Armando Ballesteros S." escribió en el
mensaje news:%
Hola, como le hago para convertir un número a letras. Ejem 14 a
catorce? Gracias













Respuesta Responder a este mensaje
#8 marcloce
12/03/2005 - 06:05 | Informe spam
Marcos Wrote: Es increiblemente buena la formula que han puesto aqui,
nunca antes la habia probado, la pude llevar a cabo en algunos minutos,
hasta es posible cambiarle algunas cosas como si quieres que te aparezca
con leyenda dollares, euros, pesos, etc. gracias a quien puso su
formula.

Gracias Pilar, pero por lo que veo no consigo guardarlo adecuadamente y no
puedo hacerlo funcionar.
¿Puedes ayudarme algo más?
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida