Anda di halaman 1dari 9

3/11/2014

Cmo crear importe con letra de una cantidad en Excel?

18th October 2010

Cmo crear importe con letra de una cantidad en


Excel?

Para no olvidar este editor de hojas de clculo, que nos ha sacado muchas veces del aprieto en el que nos
vemos, quin no ha hecho una factura en excel?, o una hoja que nos permite sacar costos y sumarles el
impuesto y al final nos vemos en la necesidad de ponerle importe con letra a todas las hojas (100 hojas) o
simplemente porque queremos aprender a hacer algo nuevo les dejo sta entrada.
Lo primero que vamos a hacer es lo siguiente:
1.- Verificar que en Excel tengamos la ficha o pestaa Programador disponible, sino esta hacemos esto para
Excel 2007:

1.1.-

Hacemos

click

en

el

icono

[http://4.bp.blogspot.com/_s3y8jdkxkDE/TLyzaALxmWI/AAAAAAAAAPY/ZQIFpaX0NhI/s1600/boton.GIF]

y,

continuacin, click en Opciones de Excel.


1.2.- En la categora Ms frecuentes, bajo Opciones principales para trabajar con Excel, active la casilla de
verificacin Mostrar ficha Programador en la cinta de opciones y, a continuacin, haga clic en Aceptar.
Nota: La cinta de opciones es un componente de la Interfaz de usuario de Microsoft Office Fluent.
2.- Para establecer el nivel de seguridad de manera que estn habilitadas temporalmente todas las macros,
haga lo siguiente:
2.1.- En la ficha Programador, en el grupo Cdigo, haga clic en Seguridad de macros.

[http://4.bp.blogspot.com/_s3y8jdkxkDE/TLzNPidPyPI/AAAAAAAAAPg/vNBSvk_5AY/s1600/programador.GIF]

2.2.- En Configuracin de macros, haga click en Habilitar todas las macros (no recomendado; puede
ejecutarse cdigo posiblemente peligroso) y, a continuacin, haga click en Aceptar.
Nota: Para ayudar a evitar que se ejecute cdigo potencialmente peligroso, recomendamos que vuelva a
cualquiera de las configuraciones que deshabilitan todas las macros cuando termine de trabajar con las
macros.
1.- Verificar que en Excel tengamos la ficha o pestaa Programador disponible, sino esta hacemos esto para
Excel 2010:
1.1.- En el menu Archivo seleccionamos Opciones, Personalizar cinta de opciones y en la pantalla que
aparece vamos a Fichas principales y seleccionamos la ficha Programador como est en la siguiente
pantalla:

http://eddfox.blogspot.mx/2010/10/como-crear-importe-con-letra-de-una.html

1/9

3/11/2014

Cmo crear importe con letra de una cantidad en Excel?

[http://2.bp.blogspot.com/_s3y8jdkxkDE/TLzb-1aglVI/AAAAAAAAAP0/I_6RXK7h2Mo/s1600/opcion_programador.JPG]

Y ya esta, es mas fcil (seleccionar la pestaa Programador) en Excel 2010.


3.- Una vez que terminemos vamos a la pestaa Programador y presionamos el boton Visual Basic y
aparecer una pantalla como esta:

[http://2.bp.blogspot.com/_s3y8jdkxkDE/TLzVuZL6hoI/AAAAAAAAAPs/RNv22pwoZa8/s1600/Visual_Basic_Excel.JPG]

Hecho esto, veremos que del lado izquierdo estn dos secciones una de ellas y la que est hasta arriba se
llama Proyecto, hacemos click con el boton derecho justo arriba de VBAProject(Libro1), aparece una ventana
en insertar seleccionamos Mdulo con la siguiente imagen:

http://eddfox.blogspot.mx/2010/10/como-crear-importe-con-letra-de-una.html

2/9

3/11/2014

Cmo crear importe con letra de una cantidad en Excel?

[http://2.bp.blogspot.com/_s3y8jdkxkDE/TLzd7WzCnfI/AAAAAAAAAP8/luWdNGqxGjM/s1600/Visual_Basic_Excel_modulo.J
PG]

Bien aparecer esta imagen:

[http://4.bp.blogspot.com/_s3y8jdkxkDE/TLzeP82mclI/AAAAAAAAAQE/tMXgBEwz7uo/s1600/Visual_Basic_Excel_modulo_a
bierto.JPG]

Ok, hasta aqu estamos bien, simplemente tenemos que copiar y pegar este cdigo, completo:
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)
http://eddfox.blogspot.mx/2010/10/como-crear-importe-con-letra-de-una.html

3/9

3/11/2014

Cmo crear importe con letra de una cantidad en Excel?

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 PESOS" & DECIMALES & "/100" & " M.N. "
Else
If MILES & CIENTOS = "000000" Then
CADENA = CADENA & " " & Trim(CADCIENTOS) & " PESOS " & DECIMALES & "/100" & " M.N. "
Else
CADENA = CADENA & " " & Trim(CADCIENTOS) & " PESOS " & DECIMALES & "/100" & " M.N. "
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"
http://eddfox.blogspot.mx/2010/10/como-crear-importe-con-letra-de-una.html

4/9

3/11/2014

Cmo crear importe con letra de una cantidad en Excel?

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"
http://eddfox.blogspot.mx/2010/10/como-crear-importe-con-letra-de-una.html

5/9

3/11/2014

Cmo crear importe con letra de una cantidad en Excel?

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"
http://eddfox.blogspot.mx/2010/10/como-crear-importe-con-letra-de-una.html

6/9

3/11/2014

Cmo crear importe con letra de una cantidad en Excel?

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
La imagen que sigue, nos demuestra lo que tendriamos en nuestro modulo:

[http://3.bp.blogspot.com/_s3y8jdkxkDE/TL0Izf2eHgI/AAAAAAAAAQM/e54Z8ZzOccg/s1600/modulo_excel_funcion.jpg]

Bueno, seguimos en Visual Basic para excel, en la pestaa Archivo seleccionamos "Cerrar y volver a
Microsoft Excel" Alt+Q, sta accin nos regresar a Microsoft Excel.
Nuestra hoja hasta el momento no tiene nada (supongamos que no hemos hecho nada) pero ya tenemos
preparada la funcin que nos permitir poner nuestra cifra en letra de la cantidad que tecleemos, como?
bueno pues ah va.
Tecleemos una cifra, la que queramos, en la celda A1, bueno, ahora en la celda A3 (es para estetica, o sea,
que no se vea encimado) tecleamos lo siguiente:
=CONVIERTENUMLETRA(A1)
Por que? Ah pues si son observadores, en el cdigo que pegamos en la hoja de Mdulo de Visual Basic, se
cre una Funcin llamada CONVIERTENUMLETRA, la cual nos va a permitir cambiar automticamente los
nmeros que escribamos, a cantidad con letra, con todo y centavos.
Ah, me faltaba algo, no olviden guardar su archivo, como quieran guardarlo, el nombre se los dejo a su
criterio, :).
Eso es todo, espero que les sirva de algo.
Saludos y gracias
http://eddfox.blogspot.mx/2010/10/como-crear-importe-con-letra-de-una.html

7/9

3/11/2014

Cmo crear importe con letra de una cantidad en Excel?

Publicado 18th October 2010 por eddfox


Etiquetas: Excel
5

Ver comentarios

lalo 19 de octubre de 2010, 11:11


BUEN COMENTARIO PARA LA COMUNIDAD gracias mi chavo !live free!
Responder

eddfox

20 de octubre de 2010, 21:36

Vientos, que bueno que te gusto, espero que sigas viendo el blog, ya que con el tiempo tendra muchas
cosas que se, nos van a ayudar.
Saludos y gracias
Responder

Daniel Pegueros 16 de enero de 2013, 17:46


Buenas tardes, disculpa la pregunta, a mi me sale un comentario al momento de guardar el archivo y dice lo
sig.
las caracteristicas no se pueden guardar en un libro sin macros:
-proyevto de VB
para guardar un archivo con estas caracteristicas haga click en no y, acontinuacion, elija un archivo
habilitado para macros en la lista de Tipo de archivo
Responder

Jesus Quirino 29 de enero de 2014, 19:14


MUY BUEN COMENTARIO, AHORA ME QUEDARE ESPERANDO UNA NUEVA ACTUALIZACIN DE LA
FUNCION CONVIERTENUMLETRA, PARA CAMBIAR HASTA LOS MIL MILLONES A CANTIDAD CON
LETRA.
Responder

loislo 3 de octubre de 2014, 5:20


Buen trabajo, muchas gracias.
No obstante, creo que tiene un problema con el 1. Devuelve "uno pesos".
Un saludo
Responder

http://eddfox.blogspot.mx/2010/10/como-crear-importe-con-letra-de-una.html

8/9

3/11/2014

Cmo crear importe con letra de una cantidad en Excel?

Introduce tu comentario...

Comentar como:

Publicar

Unknown (Google)

Vista previa

http://eddfox.blogspot.mx/2010/10/como-crear-importe-con-letra-de-una.html

Salir

Avisarme

9/9

Anda mungkin juga menyukai