Foros del Web » Soporte técnico » Software General »

Excel

Estas en el tema de Excel en el foro de Software General en Foros del Web. Necesito saber si alguien sabe como hacer que una cantidad almacenada en una celda en excel se pueda convertir a texto (osea la cantidad en ...
  #1 (permalink)  
Antiguo 02/10/2006, 15:49
Avatar de ARKANTOS1130  
Fecha de Ingreso: septiembre-2006
Ubicación: Tijuana
Mensajes: 50
Antigüedad: 17 años, 7 meses
Puntos: 1
Busqueda Excel

Necesito saber si alguien sabe como hacer que una cantidad almacenada en una celda en excel se pueda convertir a texto (osea la cantidad en letras) esto con el fin de poder hacer que sea mas facil o mas rapido capturar una factura que fue realizada en excel, les agradeceria muchisimo que me ayudaran en este caso, porque es importantisimo para mi trabajo... cualquier comentario acerca del tema por favor haganmelo llegar a correo eliminado es urgente... gracias de todos modos por su atencion.

Atte
Ricardo

Última edición por BrujoNic; 17/10/2006 a las 18:16
  #2 (permalink)  
Antiguo 02/10/2006, 19:59
Avatar de medinauta  
Fecha de Ingreso: diciembre-2002
Ubicación: Guayaquil
Mensajes: 159
Antigüedad: 21 años, 4 meses
Puntos: 0
Aqui va uno que encontre en internet:

1.- En un libro de Excel, abre el editor de marcos (Alt+F11)
2.- En el editor de macros de VisualBasic, en el menu Insertar, elige Modulo
3.- Copia/pega el siguiente codigo:
Código PHP:
Function num_letras(Numero As Double) As String
Dim Letras 
As String
Dim HuboCentavos 
As Boolean
Dim Decimales 
As Double
Decimales 
Numero Int(Numero)
Numero Int(Numero)
Dim Numeros(90) As String
Numeros
(0) = "cero"
Numeros(1) = "uno"
Numeros(2) = "dos"
Numeros(3) = "tres"
Numeros(4) = "cuatro"
Numeros(5) = "cinco"
Numeros(6) = "seis"
Numeros(7) = "siete"
Numeros(8) = "ocho"
Numeros(9) = "nueve"
Numeros(10) = "diez"
Numeros(11) = "once"
Numeros(12) = "doce"
Numeros(13) = "trece"
Numeros(14) = "catorce"
Numeros(15) = "quince"
Numeros(20) = "veinte"
Numeros(30) = "treinta"
Numeros(40) = "cuarenta"
Numeros(50) = "cincuenta"
Numeros(60) = "sesenta"
Numeros(70) = "setenta"
Numeros(80) = "ochenta"
Numeros(90) = "noventa"
Do
    
'*---> Centenas de Millón
    If (Numero < 1000000000) And (Numero >= 100000000) Then
        If (Int(Numero / 100000000) = 1) And ((Numero - (Int(Numero / 100000000) * 100000000)) < 1000000) Then
            Letras = Letras & "cien millones "
        Else
            Select Case Int(Numero / 100000000)
            Case 1
                Letras = Letras & "ciento"
            Case 5
                Letras = Letras & "quinientos"
            Case 7
                Letras = Letras & "setecientos"
            Case 9
                Letras = Letras & "novecientos"
            Case Else
                Letras = Letras & Numeros(Int(Numero / 100000000))
            End Select
            If (Int(Numero / 100000000) <> 1) And (Int(Numero / 100000000) <> 5) And (Int(Numero / 100000000) <> 7) And (Int(Numero / 100000000) <> 9) Then
                Letras = Letras & "cientos "
            Else
                Letras = Letras & " "
            End If
        End If
        Numero = Numero - (Int(Numero / 100000000) * 100000000)
    End If
    '
*---> Decenas de Millón
    
If (Numero 100000000) And (Numero >= 10000000Then
        
If Int(Numero 1000000) < 16 Then
            Letras 
Letras Numeros(Int(Numero 1000000))
            
Letras Letras " millones "
            
Numero Numero - (Int(Numero 1000000) * 1000000)
        Else
            
Letras Letras Numeros(Int(Numero 10000000) * 10)
            
Numero Numero - (Int(Numero 10000000) * 10000000)
            If 
Numero 1000000 Then
                Letras 
Letras " y "
            
End If
        
End If
    
End If
    
'*---> Unidades de Millón
    If (Numero < 10000000) And (Numero >= 1000000) Then
        If Int(Numero / 1000000) = 1 Then
            Letras = Letras & " un millón "
        Else
            Letras = Letras & Numeros(Int(Numero / 1000000))
            Letras = Letras & " millones "
        End If
        Numero = Numero - (Int(Numero / 1000000) * 1000000)
    End If
    '
*---> Centenas de Millar
    
If (Numero 1000000) And (Numero >= 100000Then
        
If (Int(Numero 100000) = 1) And ((Numero - (Int(Numero 100000) * 100000)) < 1000Then
            Letras 
Letras "cien mil "
        
Else
            
Select Case Int(Numero 100000)
            Case 
1
                Letras 
Letras "ciento"
            
Case 5
                Letras 
Letras "quinientos"
            
Case 7
                Letras 
Letras "setecientos"
            
Case 9
                Letras 
Letras "novecientos"
            
Case Else
                
Letras Letras Numeros(Int(Numero 100000))
            
End Select
            
If (Int(Numero 100000) <> 1) And (Int(Numero 100000) <> 5) And (Int(Numero 100000) <> 7) And (Int(Numero 100000) <> 9Then
                Letras 
Letras "cientos "
            
Else
                
Letras Letras " "
            
End If
        
End If
        
Numero Numero - (Int(Numero 100000) * 100000)
    
End If
    
'*---> Decenas de Millar
    If (Numero < 100000) And (Numero >= 10000) Then
        If Int(Numero / 1000) < 16 Then
            Letras = Letras & Numeros(Int(Numero / 1000))
            Letras = Letras & " mil "
            Numero = Numero - (Int(Numero / 1000) * 1000)
        Else
            Letras = Letras & Numeros(Int(Numero / 10000) * 10)
            Numero = Numero - (Int((Numero / 10000)) * 10000)
            If Numero > 1000 Then
                Letras = Letras & " y "
            Else
                Letras = Letras & " mil "
            End If
        End If
    End If
    '
*---> Unidades de Millar
    
If (Numero 10000) And (Numero >= 1000Then
        
If Int(Numero 1000) = 1 Then
            Letras 
Letras "un"
        
Else
            
Letras Letras Numeros(Int(Numero 1000))
        
End If
        
Letras Letras " mil "
        
Numero Numero - (Int(Numero 1000) * 1000)
    
End If
    
'*---> Centenas
    If (Numero < 1000) And (Numero > 99) Then
        If (Int(Numero / 100) = 1) And ((Numero - (Int(Numero / 100) * 100)) < 1) Then
            Letras = Letras & "cien "
        Else
            Select Case Int(Numero / 100)
            Case 1
                Letras = Letras & "ciento"
            Case 5
                Letras = Letras & "quinientos"
            Case 7
                Letras = Letras & "setecientos"
            Case 9
                Letras = Letras & "novecientos"
            Case Else
                Letras = Letras & Numeros(Int(Numero / 100))
            End Select
            If (Int(Numero / 100) <> 1) And (Int(Numero / 100) <> 5) And (Int(Numero / 100) <> 7) And (Int(Numero / 100) <> 9) Then
                Letras = Letras & "cientos "
            Else
                Letras = Letras & " "
            End If
        End If
        Numero = Numero - (Int(Numero / 100) * 100)
    End If
    '
*---> Decenas
    
If (Numero 100) And (Numero 9Then
        
If Numero 16 Then
            Letras 
Letras Numeros(Int(Numero))
            
Numero Numero Int(Numero)
        Else
            
Letras Letras Numeros(Int((Numero 10)) * 10)
            
Numero Numero - (Int((Numero 10)) * 10)
            If 
Numero 0.99 Then
                Letras 
Letras " y "
            
End If
        
End If
    
End If
    
'*---> Unidades
    If (Numero < 10) And (Numero > 0.99) Then
       Letras = Letras & Numeros(Int(Numero))
       Numero = Numero - Int(Numero)
    End If
Loop Until (Numero = 0)
'
*---> Decimales
If (Decimales 0Then
    Letras 
Letras " con "
    
Letras Letras Format(Decimales 100"00") & "/100 centavos"
End If
num_letras Letras
End 
Function 
4.- Cierra el editor con la X en la barra superior derecha
5.- Se ha agregado la funcion "num_letras" al libro, Guarda el libro
6.- Llama a la funcion como de costumbre, ejemplos:
=num_letras(45,78)
=num_letras(A5)
=num_letras(Suma(A1:A5))

Saludos...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:53.