Autor Tema: [Resuelto?]Necesito función numeros a letras en excel  (Leído 6739 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado osmeny

  • Sv Member
  • ***
  • Mensajes: 149
[Resuelto?]Necesito función numeros a letras en excel
« : mayo 15, 2008, 09:34:17 am »
hola en mi trabajo  tengo que generar fcturas en excel  entonces necesito una funcion que me convierta los numeros a letras , sabe alguien de esto ????
agradeceria la info
« Última Modificación: mayo 16, 2008, 08:29:36 am por Vlad »

Desconectado NightOwl

  • -^- Elite Silver -^-
  • Sv Full Member
  • *
  • Mensajes: 847
Re: Necesito funion . numeros a letras en ecxel
« Respuesta #1 : mayo 15, 2008, 10:30:22 am »
aca te dejo algo que me encontre por ahi

pasos
1- herramientas
1.1 macro
1.1.1 editor de visual basic y pegas el codigo

Luego en la celda que seleccionada solo digitas: =Num_texto(celda que contiene valor numerico)
Código: [Seleccionar]
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) & " " & Decimales & "/100"
        Else
            Cadena = Cadena & " " & Trim(CadCientos) & " " & Decimales & "/100"
        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

.........

Desconectado Maitro...

  • The Communiter-
  • *
  • Mensajes: 2996
  • Maitrosoft ©®™
Re: Necesito funion . numeros a letras en ecxel
« Respuesta #2 : mayo 15, 2008, 10:35:05 am »
Espero que esto te ayude :thumbsup:

Código: [Seleccionar]
http://www.forosdelweb.com/f90/formato-numeros-excel-214297/#post724827
Código: [Seleccionar]
http://www.mundogamers.com/trucospc/truco/205.html
Código: [Seleccionar]
http://foros.emagister.com/tema-numero_a_texto_en_excel-12890-119491-1.htm
Código: [Seleccionar]
http://www.macuarium.com/foro/lofiversion/index.php/t127558.html
San Google te puede ayudar a encontrar mas posibles soluciones :p

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re: Necesito funion . numeros a letras en ecxel
« Respuesta #3 : mayo 15, 2008, 11:39:30 am »
por si todavia no hayas como hacerlo XD......
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

Desconectado osmeny

  • Sv Member
  • ***
  • Mensajes: 149
Re: Necesito funion . numeros a letras en ecxel
« Respuesta #4 : mayo 15, 2008, 12:39:59 pm »
hey mara no puedo pegar el codigo , osea si habro el macro y luego me aparece editor de basic , le doy donde dice libro uno ero de ai como es que llamo la funcio, la busco en la creadas por el usuario y nada que ver , no me la llama y no la encuentra,  en que la estoy cagando
« Última Modificación: mayo 15, 2008, 03:13:00 pm por osmeny »

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re: Necesito funion . numeros a letras en ecxel
« Respuesta #5 : mayo 15, 2008, 05:35:31 pm »
 :huh:

descargaste el .rar que deje adjunto a mi respuesta anterior ?¿?¿?


ahi te deje un ejemplo claro de la forma de usarlo..... 
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

Desconectado ado17

  • The Communiter-
  • *
  • Mensajes: 1339
Re: Necesito funion . numeros a letras en ecxel
« Respuesta #6 : mayo 15, 2008, 06:12:12 pm »
:huh:

descargaste el .rar que deje adjunto a mi respuesta anterior ?¿?¿?


ahi te deje un ejemplo claro de la forma de usarlo..... 
Bueno, aqui una pregunta para los programadores, veo el codigo y le entiendo a algunas cosas y otras no,
COMO HAGO PARA MODIFICAR EL CODIGO ANTERIOR PARA QUE EL EXCEL ME LEA ESTO:



Y lo convierta en esto:

Rumbo Sur setenta y un grados cuarenta y nueve segundos cero seis punto noventa y ocho segundos Este, Longitud cincuenta punto treinta metros.

Uso un software que me pasa la tabla en Excel tal y como lo ven ahi, y luego hago la "traduccion" pero solo del las siglas N=Norte, S=Sur, E=Este y W=Oeste.

Se los agradeceré muchiiisimo.....  :drinks:

Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re: Necesito funion . numeros a letras en ecxel
« Respuesta #7 : mayo 15, 2008, 06:35:14 pm »
Creo que el archivo adjunto te servirá como punto de partida.

Es el mismo que puso tekun, pero con dos modificaciones:

1. No agrega la palabra "x/100 Centavos" para los decimales
2. Convierte los centavos a letras en lugar de dejarlas en forma numerica

Y una adición:

1. Función "cardinal", que devuelve el nombre del punto cardinal en base a su identificador {S,N,E,O}

Lo demas es simple concatenacion de cadenas.

Suerte y espero haberte entendido.

Desconectado ado17

  • The Communiter-
  • *
  • Mensajes: 1339
Re: Necesito funion . numeros a letras en ecxel
« Respuesta #8 : mayo 15, 2008, 08:18:25 pm »
Creo que el archivo adjunto te servirá como punto de partida.

Es el mismo que puso tekun, pero con dos modificaciones:

1. No agrega la palabra "x/100 Centavos" para los decimales
2. Convierte los centavos a letras en lugar de dejarlas en forma numerica

Y una adición:

1. Función "cardinal", que devuelve el nombre del punto cardinal en base a su identificador {S,N,E,O}

Lo demas es simple concatenacion de cadenas.

Suerte y espero haberte entendido.
Oh santo hombre de las ciencias de la computación, os agradesco tan noble y eficaz ayuda, que los dioses te protejan y te guien siempre por la senda del conocimiento y la verdad... y como muestra de mi congratulación para con usted le pido que reciba mi humilde ofrenda de agradecimiento, algo que en este sagrado lugar llaman un +K...  :sur:

Desconectado vlad

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 6351
    • Qualium.net
Re: Necesito funion . numeros a letras en ecxel
« Respuesta #9 : mayo 16, 2008, 08:28:38 am »
Que bien que te haya funcionado  :thumbsup: aunque realmente fue tekun el que puso el codigo base (el de NightOwl es similar tambien).

PD: gracias por el +K  :yahoo: