Utilizamos Cookies de terceros para generar estadísticas de audiencia y mostrar publicidad personalizada analizando tu navegación. Si sigues navegando estarás aceptando su uso. Más información X
PortadaForo AyudaTutoriales

Traducir numeros a texto en excel 2007

RLW090882
Todos sus contenidos
0 Seguidores
1 Envíos
20 Puntos
0 Posts
24/07/2011
Hola que tal amigos, el dia de hoy quiero publicar una función para microsoft Excel que esta enfocada a llenar facturas o para contadores principalmente se trata de una macros que nos permitirá convertir los números a letras

Ejemplo de 250 a Son: (DOS CIENTOS CINCUENTA PESOS 00/100 M.N.)

En MS Excel no existe ninguna función predefinida que nos permita realizar esta tarea es por eso que nos auxiliaremos de una Macros para poder hacer comencemos:

Paso 1:
Lo primero que debemos de hacer será crear la macros que utilizaremos para ello seleccionaremos la pestaña vista y a continuación en el botón macros o bien con la combinación de teclas “Alt + F8″ En la barra de texto “Nombre de la Macro” escribiremos el nombre que tendra esta macro
Paso 2:
Una vez hecho lo anterior se abrira una venta de Visual Basic en la que vamos a borrar lo que tiene la ventana y a pegar el siguiente codigo:
Sub texto()
Function CordobasMN(tyCantidad As Currency) As String
Dim lyCantidad As Currency, lyCentavos As Currency, lnDigito As Byte, lnPrimerDigito As Byte, lnSegundoDigito As Byte, lnTercerDigito As Byte, lcBloque As String, lnNumeroBloques As Byte, lnBloqueCero
Dim laUnidades As Variant, laDecenas As Variant, laCentenas As Variant, I As Variant "Si esta como Option Explicit
tyCantidad = Round(tyCantidad, 2)
lyCantidad = Int(tyCantidad)
lyCentavos = (tyCantidad - lyCantidad) * 100
laUnidades = Array("UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE", "OCHO", "NUEVE", "DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE", "DIECISEIS", "DIECISIETE", "DIECIOCHO", "DIECINUEVE", "VEINTE", "VEINTIUN", "VEINTIDOS", "VEINTITRES", "VEINTICUATRO", "VEINTICINCO", "VEINTISEIS", "VEINTISIETE", "VEINTIOCHO", "VEINTINUEVE")
laDecenas = Array("DIEZ", "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA", "SESENTA", "SETENTA", "OCHENTA", "NOVENTA")
laCentenas = Array("CIENTO", "DOSCIENTOS", "TRESCIENTOS", "CUATROCIENTOS", "QUINIENTOS", "SEISCIENTOS", "SETECIENTOS", "OCHOCIENTOS", "NOVECIENTOS")
lnNumeroBloques = 1
Do
lnPrimerDigito = 0
lnSegundoDigito = 0
lnTercerDigito = 0
lcBloque = ""
lnBloqueCero = 0
For I = 1 To 3
lnDigito = lyCantidad Mod 10
If lnDigito 0 Then
Select Case I
Case 1
lcBloque = " " & laUnidades(lnDigito - 1)
lnPrimerDigito = lnDigito
Case 2
If lnDigito 1, " CORDOBAS CON ", " CORDOBA CON") & Format(Str(lyCentavos), "00") & "/100"
End Function



Luego de insertar el codigo
Paso 3:

Despues del paso anterior podemos llamar a nuestra funcion desde la hoja de excel para llamarla lo haremos igual que llamamos cualquier otra función “=CordobasMN” en la celda donde esperamos obtener el resultado y listo

Eso es todo amigos espero que les sirva

Opiniones:OPINIONES: 4

Opinión 1.

Re: Traducir numeros a texto en excel 2007 - Fecha: 12-08-2013 20:07:04.
Probare la funcion y te aviso por que ya he intentado con otras y cuando ya cierro excel y lo vuelvo a habrir ya no me jala la funcion.....

Opinión 2.

Re: Traducir numeros a texto en excel 2007 - Fecha: 03-09-2013 20:57:54.
Ya lo intente y cuando cierro y abro excel ya no le jala la función

Opinión 3.

Re: Traducir numeros a texto en excel 2007 - Fecha: 15-05-2014 15:25:04.
error en la línea:

if lndigito 1, \' numtoletters con \', \' numtoletters con\') & format(str(lycentavos), \'00\') & \'/100\'

el mensaje dice: se esperaba then or goto

Opinión 4.

Re: Traducir numeros a texto en excel 2007 - Fecha: 15-05-2014 15:29:25.
Una pregunta: al llamar la función se le pasa como parámetro le celda, por ejemplo G21, suponiendo que en esa celda está la cantidad en números?
Autores: Esta sección es realizada sólo y exclusivamente por Usuarios de ConfigurarEquipos.com, el mérito corresponde a los usuarios que envían estos contenidos.
InicioSecciones
^ SubirAviso legal
Política Privacidad
Configurarequipos04 Diciembre 2024