Hola:
Ojala alguien me puede responder si hay alguna forma de si yo tengo en una celda de excel, por ejemplo, el número 3500 en otra celda me coloque "tres mil quinientos".
Gracias,
| |||
Formato de números en excel Hola: Ojala alguien me puede responder si hay alguna forma de si yo tengo en una celda de excel, por ejemplo, el número 3500 en otra celda me coloque "tres mil quinientos". Gracias, |
| ||||
creando la macro, se crea una función luego en una celdapones funciones/ definidas por el usuario, la funcion num_letras que creaste con la macro. por ejemplo en la celda b5 pones = num_letras(a5)
__________________ hay tres tipos de matemáticos, los que saben contar y los que no. Oscar |
| ||||
Judoka muy buena respuesta!! gracias podrias darnos el link donde sacaste la info?
__________________ Evitemos abrir post con títulos "Ayuda..." "Urgente..." le quitan valor a nuestro motor de búsqueda y por otra parte, escribe de manera correcta , quien te lea y quiere ayudarte, no pierde tiempo al descifrar lo que escribiste. |
| |||
Quería que lo supieran... hola!! He conocido el foro gracias a una publicación, aquí en Capital, de computación. Está muy interesante!!! Y estoy muy interesada en esta función, pero no lo logro!!! Debo decir a mi favor que son mis primeras armas. Muchas gracias |
| ||||
ya estaba Convertir números a letras en Excel Ya que mediante el formato de Excel no es posible, la solución puede ser crear un módulo de Visual Basic que nos realice el trabajo. Afortunadamente, Microsoft nos ofrece otra alternativa en su página web del área de descarga de Excel. Se trata de utilizar una función llamada Recibo, que se encuentra en una librería dinámica y que puede llamarse desde Excel definiendo una función. Veamos los pasos a seguir: Descargamos a nuestro disco duro el archivo E10467.EXE de la dirección http://www.microsoft.com/spain/suppo...les/E10467.EXE El archivo E10467.EXE contiene dos archivos empaquetados: DLLTCAST.DLL y E10467.DOC. El primero es la librería dinámica que contiene la función Recibo y el segundo es un archivo de Word con las instrucciones para utilizar en Excel la función. Ejecutamos el archivo E10467.EXE y copiamos el archivo DLLTCAST.DLL a la carpeta c:\windows\system de nuestro disco duro. Arrancamos Excel y en un nuevo libro o en el que necesitemos utilizar la conversión de números a letras, insertamos un nuevo módulo de Visual Basic. En Excel 2000 mediante el menú Herramientas--Macro--Editor de Visual Basic y a continuación ejecutando en este editor el comando Insertar--Módulo. Escribimos el código siguiente en el módulo: Declare Sub Recibo Lib "dlltcast.dll" (cifra As Long, ByVal texto As String) Function letras(minumero) Dim texto As String * 255 Dim cifra As Long texto = String(255, 0) cifra = CLng(minumero) Call Recibo(cifra, texto) letras = texto End Function Guardamos el libro de trabajo y cerramos el editor de Visual Basic. Probamos a utilizar la función en la hoja de cálculo en la que hemos definido la función escribiendo =letra(Número). Siendo número un valor numérico o una referencia de celda que contenga un número. Por ejemplo: =letra(56789) o =letra(B2). En el archivo de Word E10467.DOC podemos ver la forma de utilizar la función desde cualquier hoja de cálculo sin tener que definirla nuevamente. http://www.galeon.com/ortihuela/trucosexcel.htm
__________________ Desde el Fín del Mundo.... |
| ||||
No existe la libreria Cita: Al parecer el link no funciona o ya no esta disponible la libreria la pregunta es si me pueden proveer alguno de uds la misma y si esta funciona con office 03
Iniciado por nicaca Convertir números a letras en Excel Ya que mediante el formato de Excel no es posible, la solución puede ser crear un módulo de Visual Basic que nos realice el trabajo. Afortunadamente, Microsoft nos ofrece otra alternativa en su página web del área de descarga de Excel. Se trata de utilizar una función llamada Recibo, que se encuentra en una librería dinámica y que puede llamarse desde Excel definiendo una función. Veamos los pasos a seguir: Descargamos a nuestro disco duro el archivo E10467.EXE de la dirección http://www.microsoft.com/spain/suppo...les/E10467.EXE El archivo E10467.EXE contiene dos archivos empaquetados: DLLTCAST.DLL y E10467.DOC. El primero es la librería dinámica que contiene la función Recibo y el segundo es un archivo de Word con las instrucciones para utilizar en Excel la función. Ejecutamos el archivo E10467.EXE y copiamos el archivo DLLTCAST.DLL a la carpeta c:\windows\system de nuestro disco duro. Arrancamos Excel y en un nuevo libro o en el que necesitemos utilizar la conversión de números a letras, insertamos un nuevo módulo de Visual Basic. En Excel 2000 mediante el menú Herramientas--Macro--Editor de Visual Basic y a continuación ejecutando en este editor el comando Insertar--Módulo. Escribimos el código siguiente en el módulo: Declare Sub Recibo Lib "dlltcast.dll" (cifra As Long, ByVal texto As String) Function letras(minumero) Dim texto As String * 255 Dim cifra As Long texto = String(255, 0) cifra = CLng(minumero) Call Recibo(cifra, texto) letras = texto End Function Guardamos el libro de trabajo y cerramos el editor de Visual Basic. Probamos a utilizar la función en la hoja de cálculo en la que hemos definido la función escribiendo =letra(Número). Siendo número un valor numérico o una referencia de celda que contenga un número. Por ejemplo: =letra(56789) o =letra(B2). En el archivo de Word E10467.DOC podemos ver la forma de utilizar la función desde cualquier hoja de cálculo sin tener que definirla nuevamente. http://www.galeon.com/ortihuela/trucosexcel.htm
__________________ En la politica el unico ministerio que sale bien ante el pueblo es la iglesia, promete vida despues de la muerte y nadie a regresado a reclamar... |
| |||
Encontré éste otro desarrollo, ojalá les sea útil... http://www.lawebdelprogramador.com/t...umeroletra.php Saludos... |
| |||
Convertir números a letras Encontré éste otro, no logré "subir" el archivo *.xls, pero copio la macro: 'Funcion para convertir los numeros a caracteres. 'Guadalupe Leija Flores ([email protected]) 'INFONAVIT NUEVO LEON ' 8130-3144 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 Para que funcione, en la hoja de Excel escribir en la celda que deseamos que aparezca el texto la función " =NUM_TEXTO(CELDA) " y entre parentésis la celda en la que escribiremos el número a convertir. SAludos.... |
| |||
Re: Formato de números en excel hOLA puedes agregaruna macro donde la cifra 2,5 aparezca asi: Dos coma Cinco, ya que he modificado de varias formas las macros q he bajado y no logro dar con la correcta. te lo agradeceria,si no es mucha molestia aate Ulises |
| ||||
Formato de números en Excel Aquí les dejo dos opciones más que ya vienen preparados para su aplicación: http://savefile.com/files/1051130 http://savefile.com/files/1051131 Saludos Última edición por mrocf; 13/09/2007 a las 12:22 Razón: Enlaces incorrectos |
| |||
Re: Formato de números en Excel Cita: te agradezco la ayuda, pero lamentablemente no soluciona mi problema, ya que no puedo hacer que los decimales me salgan escritos con letra, siguen saliendo con numero y ya no se como ni que parte de la macro modificar para que funcioneaclaro que no necesito convertir cifras en moneda sin numero y decimal gracias nuevamente y si tienes otra ayuda te lo agradecere aun mas |
| ||||
Formato de números en excel Hola! Huflo26: Observa que lo que estás buscando: 2,5 = Dos coma Cinco, no es sino: "Parte Entera" & " coma " & "Parte Decimal" Pues entonces solo debes alimentar a los procedimientos anteriores dos veces: primero con la parte entera y después con la parte decimal... Juntas los dos resultadosc omo antes te comentara... y listo. Por supuesto, debes quitar del procedimiento que utilices la mención a la "moneda" y a la "parte decimal con números". Suerte. |
| |||
Re: Formato de números en excel Cita: Hola y perdon por lo cabezon,jajaj
Iniciado por mrocf Hola! Huflo26: Observa que lo que estás buscando: 2,5 = Dos coma Cinco, no es sino: "Parte Entera" & " coma " & "Parte Decimal" Pues entonces solo debes alimentar a los procedimientos anteriores dos veces: primero con la parte entera y después con la parte decimal... Juntas los dos resultadosc omo antes te comentara... y listo. Por supuesto, debes quitar del procedimiento que utilices la mención a la "moneda" y a la "parte decimal con números". Suerte. agradezcl la ayuda pero sinceramente no se que linea modificar para que el procedimiento sea el correcto estoy ocupando la siguiente macro: 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 Else If Miles & Cientos = "000000" Then Cadena = Cadena & " " & Trim(CadCientos) & " " & Decimales Else Cadena = Cadena & " " & Trim(CadCientos) & " " & Decimales 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 = Cadena & " " & Trim(CadCientos) & " " & Decimales End Function La tome de este mismo tema por favor, tenme paciencia ya aprenderé |
| ||||
Formato de números en excel Utiliza la macro que está en: http://savefile.com/files/1051131 Del código:
Código:
elimina las dos líneas que he resaltado en "rojo".If Cantidad < 0 Then EnLetras = "PESOS Menos " Cantidad = Abs(Cantidad) Else EnLetras = "PESOS " End If Y del código:
Código:
también elimina lo que está en rojo.Centavos: Resto = WorksheetFunction.Round(100 * Resto, 0) EnLetras = Trim(EnLetras) + " CON " + Format(Resto, "00") + "/100" Finalmente (y ya en Excel), la fórmula: = EnLetras(ENTERO(A2)) & " coma " & EnLetras( 100*(A2-ENTERO(A2)) ) hace lo que estás buscando. Saludos |
| |||
Re: Formato de números en excel Del código:
Código:
elimina las dos líneas que he resaltado en "rojo".If Cantidad < 0 Then EnLetras = "PESOS Menos " Cantidad = Abs(Cantidad) Else EnLetras = "PESOS " End If Y del código:
Código:
también elimina lo que está en rojo.Centavos: Resto = WorksheetFunction.Round(100 * Resto, 0) EnLetras = Trim(EnLetras) + " CON " + Format(Resto, "00") + "/100" Finalmente (y ya en Excel), la fórmula: = EnLetras(ENTERO(A2)) & " coma " & EnLetras( 100*(A2-ENTERO(A2)) ) hace lo que estás buscando. Saludos [/QUOTE] Gracias quedo perfecto muchas gracias nuevamente no sabre como pagar el favor jajaja me has ahorrado mucho trabajo, espero no haberte causado tanto del mismo atte ulises flores. valdivia-chile |
| |||
Re: Formato de números en excel Cita: jajajajajaja AAAAAhhhhh le tienen susto a Bielsa, jajajja (Broma no mas) ojala no sea eso el tope para q sigan ayudando, jejejeje ok saludos |