Macros

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 24

UNIDAD 11 -MACROS

1. ¿QUÉ ES UNA MACRO DE EXCEL?


Si utilizas Excel frecuentemente es posible que en alguna ocasión te hayas encontrado
ejecutando una misma serie de acciones una y otra vez. Esas acciones que haces
repetidas veces se podrían automatizar con una macro.
Una macro es un conjunto de comandos que se almacena en un lugar especial de Excel
de manera que están siempre disponibles cuando los necesites ejecutar.
Por ejemplo, si todas las mañanas creas un reporte de ventas y en ese reporte siempre
das el mismo formato a los textos, se podría crear una macro para que lo haga
automáticamente por ti. Las macros se utilizan principalmente para eliminar la
necesidad de repetir los pasos de aquellas tareas que realizas una y otra vez.
LENGUAJE DE PROGRAMACIÓN
Las macros se escriben en un lenguaje de computadora especial que es conocido como
Visual Basic for Applications (VBA). Este lenguaje permite acceder a prácticamente
todas las funcionalidades de Excel y con ello también ampliar la funcionalidad del
programa.

2. MOSTRAR LA PESTAÑA PROGRAMADOR EN EXCEL


La pestaña Programador es ampliamente utilizada en la creación de macros y de
controles de formulario. Sin embargo, dicha pestaña no es mostrada de manera
predetermina en la Cinta de opciones de Excel y por lo tanto es importante aprender a
mostrarla.
Para activar la pestaña Programador, debemos acudir a la configuración de la Cinta de
opciones la cual se encuentra en el cuadro de diálogo Opciones de Excel y a continuación
aprenderemos dos métodos para llegar a dichas opciones de configuración.
Sigue los siguientes pasos para mostrar la pestaña Programador:
1. Haz clic en la pestaña Archivo.
2. Haz clic en la sección Opciones que se encuentra entre los comandos del
panel izquierdo.
3. Se mostrará el cuadro de diálogo Opciones de Excel y deberás hacer clic
en la opción Personalizar cinta de opciones.
4. En la sección Pestañas principales deberás hacer clic en el cuadro de
selección de la pestaña Programador.

La pestaña Programador tiene los comandos necesarios para crear macros y también
para ejecutar macros previamente grabadas. Desde esta pestaña podremos abrir
el Editor de Visual Basic que nos permite escribir código VBA.
Si por alguna razón necesitas ocultar la pestaña Programador, entonces deberás seguir
los mismos pasos para abrir el cuadro de diálogo Opciones de Excel y desactivar la casilla
de selección de la pestaña.
OTRA OPCION DE MOSTRAR LA PESTAÑA PROGRAMADOR
Es posible acceder al cuadro de diálogo Opciones de Excel y a las opciones de
configuración de la Cinta de opciones de una manera más rápida que con los pasos
anteriormente descritos.
1. Haz clic derecho en la Cinta de opciones.
2. Haz clic en el comando Personalizar la Cinta de opciones.
3. Se mostrará el cuadro de diálogo Opciones de Excel y deberás activar la
casilla de la pestaña Programador.

Aunque la pestaña Programador tiene dicho nombre en varias versiones de Excel, es


posible que te encuentres con alguna versión que haya nombrado la pestaña
como Desarrollador. Se refieren a la misma pestaña y los comandos son los mismos, solo
es un nombre diferente.
GRUPOS DE COMANDOS DE LA PESTAÑA PROGRAMADOR
Una vez que has activado la pestaña Programador, podrás ver que los comandos se
encuentran organizados en cuatro grupos.

 Código: Aquí están los comandos necesarios para iniciar el Editor de


Visual Basic donde se puede escribir directamente código VBA. También
nos permitirá ver la lista de macros disponibles para ejecutarlas o
eliminarlas y también encontrarás el comando Grabar macro el cual nos
permite crear una macro sin necesidad de saber programación VBA.
 Complementos: nos permite administrar y habilitar todo tipo de
complementos como el caso del complemento Solver o las Herramientas
para análisis.
 Controles: Contiene comandos para agregar controles especiales a las
hojas de Excel como los controles de formulario que son botones, casillas
de verificación, botones de opción entre otros más que serán de gran
utilidad para ampliar la funcionalidad de Excel.
 XML: Con estos comandos podremos importar datos de un archivo XML
y encontraremos opciones útiles para codificar y trabajar con archivos
XML.

3. CÓMO GRABAR MACROS EN EXCEL


Si no tienes muchos conocimientos aún sobre VBA pero quieres automatizar algunas
tareas en Excel, puedes crear macros utilizando la Grabadora de macros, lo cual no
requerirá que tengas conocimiento de programación.
Existen dos maneras de iniciar con la grabación de una macro en Excel. Lo podemos
hacer desde la barra de estado y también desde la ficha Programador.
INICIAR LA GRABACIÓN DESDE LA BARRA DE ESTADO
Para iniciar con la grabación de una macro en Excel puedes pulsar el botón Grabar
macro que se encuentra en la parte inferior izquierda de la barra de estado de Excel.

INICIAR LA GRABACIÓN DESDE LA FICHA PROGRAMADOR


Si tienes activada la ficha Programador entonces podrás también iniciar la grabación de
una macro con el comando Grabar macro que se encuentra dentro del grupo Código.

Cualquiera de los dos métodos mencionados anteriormente hará que se muestre el


cuadro de diálogo Grabar macro donde especificaremos el Nombre de la macro así
como algún Método abreviado que deseemos asignar a la macro.
Después de pulsar el botón Aceptar, todas las acciones que realices en Excel serán
guardadas como parte de la macro que está siendo grabada.
DETENER LA GRABACIÓN DE LA MACRO
Para detener la grabación de la macro debes hacer clic en el comando Detener
grabación que se encuentra en la ficha Programador o también puedes pulsar el botón
que se encontrará en la barra de estado.

EJECUTAR UNA MACRO GRABADA


Podemos ver las macros que hemos grabado con el comando Macros que se encuentra
en la ficha Programador. Al pulsar dicho botón se abrirá el cuadro de diálogo Macros y
deberemos pulsar el botón Ejecutar para iniciar con la ejecución de cada una de las
instrucciones de la macro.
EDITAR UNA MACRO PREVIAMENTE GRABADA
La edición de una macro de Excel se puede hacer solamente a través de código VBA.
Para poder editar una macro debes pulsar el botón Macros que se encuentra en la ficha
Programador y dentro del cuadro de diálogo Macro elegir aquella macro que necesites
editar:

Al pulsar el botón Modificar se abrirá el Editor de Visual Basic con el código de la macro.
Debemos tener mucho cuidado con el código de una macro porque cualquier edición
incorrecta puede impedir el buen funcionamiento de la misma.
ELIMINAR UNA MACRO
Para eliminar una macro debes pulsar el botón Macros, posteriormente seleccionar la
macro que será eliminada y finalmente pulsar el botón Eliminar.

4. ESTABLECER SEGURIDAD DE MACROS


La seguridad es un tema importante al hablar de macros en Excel. Si abres algún archivo
que contenga una macro maliciosa puedes causar algún tipo de daño al equipo. De
manera predeterminada Excel no permite ejecutar macros automáticamente.
Sin embargo, si estás creando tus propias macros y deseas remover esta protección
porque sabes que no existe código malicioso, entonces puedes modificar la
configuración para habilitar todas las macros. Para hacerlo debes seguir los siguientes
pasos.
Haz clic en la ficha Archivo y posteriormente en Opciones. Dentro del cuadro de diálogo
mostrado selecciona la opción Centro de confianza y posteriormente pulsa el
botón Configuración del centro de confianza. Se mostrará el cuadro de diálogo Centro
de confianza.

Dentro de la sección Configuración de macros selecciona alguna de las opciones


disponibles.
 Deshabilitar todas las macros sin notificación. Deshabilita las macros y
permite ejecutar solamente aquellas que estén almacenadas en un lugar
confiable. Los lugares confiables se configuran en la sección Ubicaciones
de confianza del mismo cuadro de diálogo.
 Deshabilitar todas las macros con notificación. Muestra una alerta de
seguridad advirtiendo sobre la intención de ejecutar una macro de
manera que se pueda decidir si se desea ejecutar. Esta es la opción
predeterminada de Excel.
 Deshabilitar todas las macros excepto las firmadas digitalmente.
Solamente se podrán ejecutar las macros que están firmadas
digitalmente.
 Habilitar todas las macros. Permite ejecutar todas las macros sin enviar
alguna notificación al usuario. Esta opción es útil si se ejecutan múltiples
macros totalmente confiables. Esta opción es la que corre los mayores
riesgos al ejecutar una macro de una fuente desconocida.
Una vez seleccionada la opción deseada se debe pulsar el botón Aceptar para hacer los
cambios permanentes.
5. PROGRAMANDO EN VBA
Excel es una de las herramientas de software más poderosas para el manejo, análisis y
presentación de datos. Aun y con todas sus bondades, en ocasiones Excel no llega a
suplir algunas necesidades específicas de los usuarios.
Afortunadamente Excel cuenta con VBA que es un lenguaje de programación que
permite extender las habilidades del programa para cubrir nuestros requerimientos.
Utilizando VBA se pueden desarrollar nuevos algoritmos para analizar la información o
para integrar a Excel con alguna otra aplicación como Microsoft Access.
PRINCIPIOS FUNDAMENTALES
La programación en VBA puede ser un tanto misteriosa para la mayoría de los usuarios
de Excel, sin embargo una vez que se comprenden los principios básicos de
programación en VBA se comenzarán a crear soluciones robustas y efectivas.
El primer concepto importante a entender es que cada elemento de Excel es
representado en VBA como un objeto. Por ejemplo, existe el objeto Workbook que
representa a un libro de Excel. También existe el objeto Sheet que representa una hoja
y el objeto Chart para un gráfico.
El segundo concepto importante a entender es que cada uno de estos objetos
tiene propiedades y métodos. Para explicar mejor este concepto utilizaré una analogía.
PROPIEDADES Y MÉTODOS
Supongamos que tenemos el objeto auto. Así es, un auto como el que manejamos todos
los días para ir al trabajo. Este auto tiene varias propiedades como son: marca, modelo,
color, tipo de transmisión las cuales ayudan a describir mejor al auto. También
hay propiedades que indican su estado actual como por ejemplo gasolina disponible,
temperatura del aceite, velocidad, kilómetros recorridos entre otras propiedades más.
Podemos decir que las propiedades de un objeto nos ayudan a describirlo mejor en todo
momento.
Por otro lado tenemos los métodos de un objeto que en resumen son las acciones que
podemos realizar con dicho objeto. Por ejemplo, con nuestro auto podemos hacer lo
siguiente: encenderlo, avanzar, vuelta a la izquierda, vuelta a la derecha, reversa,
detener, apagar, etc. Todas las acciones que se pueden llevar a cabo con un objeto son
conocidas como métodos.
Volviendo al terreno de Excel, el objeto Workbook tiene propiedades como
ActiveSheet (Hoja activa), Name (Nombre), ReadOnly (Solo Lectura),
Saved (Guardado) y algunos de sus métodos son Save (Guardar), Close (Cerrar),
PrintOut (Imprimir), Protect (Proteger), Unprotect (Desproteger).
Será dificil mencionar todos los objetos de Excel y sus propiedades en esta publicación,
pero lo importante a recordar en este ocasión es que cada elemento de Excel está
siempre representado por un objeto en VBA y cada objeto tiene a su
vez propiedades y métodos que nos permitirán trabajar con nuestros datos.
OBJETOS, PROPIEDADES Y MÉTODOS
Los objetos en Excel (VBA) son cosas. Una celda es un objeto, una hoja es un objeto, un
libro es un objeto y de esta manera existen muchos más objetos en Excel. A esto lo
conocemos como el modelo de objetos de Excel.

Cada uno de los objetos de Excel tiene propiedades y métodos. Las propiedades son las
características del objeto y los métodos son las acciones que el objeto puede hacer.
PROPIEDADES DE UN OBJETO
Si una persona fuera un objeto de Excel sus propiedades serían el color de sus ojos, el
color de su cabello, su estatura, su peso. De la misma manera, un objeto de Excel tiene
propiedades por ejemplos, una celda (Range) tiene las propiedades valor (Value) y
dirección (Address) entre muchas otras. Estas propiedades describen mejor al objeto.
MÉTODOS DE UN OBJETO
Siguiendo con el ejemplo de una persona, si fuera un objeto de Excel sus métodos serían
correr, caminar, hablar, dormir. Los métodos son las actividades o acciones que el objeto
puede realizar. Los objetos de Excel se comportan de la misma manera que el ejemplo
de una persona. Una celda (Range) tiene los métodos activar (Activate), calcular
(Calculate), borrar (Clear) entre muchos más.
UTILIZANDO LAS PROPIEDADES Y LOS MÉTODOS
Para acceder a las propiedades y métodos de un objeto lo hacemos a través de una
nomenclatura especial. Justo después del nombre del objeto colocamos un punto
seguido del nombre de la propiedad o del método. Observa este ejemplo donde
hacemos uso de la propiedad Value para la celda A1:
Range("A1").Value = "Hola"
De esta manera asignamos una cadena de texto al valor de la celda A1. Ahora bien, si
queremos borrar ese valor que acabamos de colocar en la celda podemos utilizar el
método Clear de la siguiente manera:
Range("A1").Clear
VER TODAS LAS PROPIEDADES Y MÉTODOS
Los objetos tienen muchas propiedades y métodos y a veces es difícil pensar que los
llegaremos a memorizar todos por completo. Sin embargo, el Editor de Visual Basic es
de gran ayuda porque justamente al momento de escribir nuestro código nos
proporciona la lista completa de propiedades y métodos para un objeto.

Esto sucede al momento de introducir el punto después del nombre del objeto. Puedes
distinguir entre las propiedades y métodos porque tienen iconos diferentes. En la
imagen de arriba los métodos son los que tienen el icono de color verde.
Recuerda, los objetos son cosas en Excel y sus características las
llamamos propiedades las cuales nos ayudan a definir al objeto. Los métodos son las
acciones que cada objeto puede realizar.
EL EDITOR DE VISUAL BASIC
El Editor de Visual Basic, VBE por sus siglas en inglés, es un programa independiente a
Excel pero fuertemente relacionado a él porque es el programa que nos permite escribir
código VBA que estará asociado a las macros.
Existen al menos dos alternativas para abrir este editor, la primera de ellas es a través
del botón Visual Basic de la ficha Programador.

El segundo método para abrir este programa es, en mi opinión, el más sencillo y rápido
y que es a través del atajo de teclado: ALT + F11. El Editor de Visual Basic contiene varias
ventanas y barras de herramientas.
En la parte izquierda se muestra el Explorador de proyectos el cual muestra el proyecto
VBA creado para el libro actual y además muestra las hojas pertenecientes a ese libro
de Excel. Si por alguna razón no puedes visualizar este módulo puedes habilitarlo en la
opción de menú Ver y seleccionando la opción Explorador de proyectos.
El Explorador de proyectos también nos ayuda a crear o abrir módulos de código que se
serán de gran utilidad para reutilizar todas las funciones de código VBA que vayamos
escribiendo.
Dentro del Editor de Visual Basic puedes observar una ventana llamada Inmediato que
está en la parte inferior. Esta ventana es de mucha ayuda al momento de escribir código
VBA porque permite introducir instrucciones y observar el resultado inmediato.
Además, desde el código VBA podemos imprimir mensajes hacia la
ventana Inmediato con el comando Debug.Print de manera que podamos depurar
nuestro código. Si no puedes observar esta ventana puedes mostrarla también desde el
menú Ver.
El área más grande en blanco es donde escribiremos el código VBA. Es en esa ventana
en donde escribimos y editamos las instrucciones VBA que dan forma a nuestras macros.
Es importante familiarizarnos con el Editor de Visual Basic antes de iniciar con la
creación de macros.
6. TU PRIMERA MACRO CON VBA
Ahora que ya sabes lo que es el Editor de Visual Basic para Aplicaciones puedo mostrarte
un ejemplo muy sencillo para crear una macro. Lo primero que debes hacer es ir a
la ficha Programador y hacer clic en el botón Visual Basic.
CREACIÓN DE UN MÓDULO
Una vez dentro del Editor debes hacer clic derecho sobre el título del proyecto y dentro
del menú seleccionar la opción Insertar y posteriormente Módulo.

Se creará la sección Módulos y dentro de la misma se mostrará el módulo recién creado.


Puedes saber que el módulo está abierto porque su nombre se muestra en el título entre
corchetes.
Si el módulo no está abierto solamente deberás hacer doble clic sobre él. Posiciónate en
el área de código e introduce las siguientes instrucciones:

Antes de avanzar explicaré con detalle las instrucciones mostradas.


SUBRUTINAS EN VBA
El primer concepto que explicare es la instrucción Sub que es la abreviación de la
palabra subrutina. Una subrutina no es más que un conjunto de instrucciones que se
ejecutarán una por una hasta llegar al final de la subrutina que está especificado por la
instrucción End Sub.
Las subrutinas nos ayudan a agrupar varias instrucciones de manera que podamos
organizar adecuadamente nuestro código. Una subrutina siempre tiene un nombre el
cual debe ser especificado justo después de la instrucción Sub y seguido por paréntesis.
LA FUNCIÓN MSGBOX EN VBA
La subrutina que acabamos de crear para este ejemplo solamente tiene una instrucción
dentro la cual hace uso de la función MsgBox. Esta función nos ayuda a mostrar una
ventana de mensaje de manera que podamos estar comunicados con el usuario sobre
cualquier error o advertencia que necesitamos darle a conocer. Para este ejemplo he
utilizado la forma más sencilla de la función MsgBox la cual solamente tiene un solo
argumento que es precisamente el mensaje que necesitamos mostrar en pantalla al
usuario.
EJECUTAR MACRO
Para probar nuestro código bastará con pulsar el botón Ejecutar que se encuentra
dentro de la barra de herramientas.

En cuanto se pulsa el botón se ejecutará el código recién ingresado y obtendremos el


resultado en pantalla.

Listo, has creado tu primera macro la cual muestra una ventana de mensajes y despliega
el texto especificado en la función MsgBox. Para guardar la macro recuerda que debes
guardar el archivo como Libro de Excel habilitado para macros, de lo contrario perderás
el código del módulo creado.

7. EJEMPLO DE FORMULARIO VBA EN EXCEL


En esta ocasión haremos un ejemplo básico de cómo utilizar un formulario VBA para
desarrollar una mini-aplicación en Excel que realice la conversión de temperaturas entre
grados Celsius y grados Fahrenheit. Este ejemplo será de gran ayuda para aquellos que
comienzan en la programación VBA.

CREACIÓN DEL FORMULARIO

Es probable que hayas iniciado a programar en VBA pero aún no hayas utilizado los
formularios, así que será conveniente dar una breve definición antes de comenzar.
Un formulario VBA es un cuadro de diálogo donde agregamos diversos tipos de
controles como botones de comando, cajas de texto, casillas de verificación, y otros
controles más que serán de utilidad para obtener información de un usuario ya sea para
procesarla y devolver algún resultado o simplemente almacenarla.
Los formularios nos permiten crear aplicaciones en Excel para extender el uso y
funcionalidad de la herramienta y aunque su uso está fuertemente relacionado con los
usuarios avanzados de Excel, pronto verás que no es tan complicado utilizarlos. Para
iniciar nuestro ejemplo agregaremos un nuevo formulario de la siguiente manera. En
la ficha Programador pulsa el botón Visual Basic y se mostrará el Editor de VBA. Haz clic
derecho sobre VBA Project y selecciona la opción Insertar > UserForm:

De inmediato el panel principal mostrará el formulario recién creado así como un


pequeño cuadro de diálogo con el título Cuadro de herramientas el cual contiene los
controles que podemos agregar al formulario.
El Cuadro de herramientas tiene un botón para cada tipo de control como etiqueta,
cuadro de texto, cuadro combinado, cuadro de lista, casilla de verificación, botón de
opción, etc. Para agregar un control al formulario es necesario hacer clic en el botón
correspondiente dentro del Cuadro de herramientas y posteriormente hacer clic dentro
del formulario. Otra manera de agregar un control al formulario es pulsar el botón del
control y arrastrarlo sobre el formulario.

AGREGAR CONTROLES DE FORMULARIO

Para nuestro ejemplo necesitamos agregar una etiqueta, un cuadro de texto, un cuadro
de lista y un botón de comando de manera que nuestro formulario quede de la siguiente
manera:

Para cambiar el texto de la etiqueta y del botón de comando debemos modificar la


propiedad llamada Caption y eso lo haremos desde la ventana Propiedades. Si esta
ventana no se muestra actualmente en el Editor de Visual Basic puedes seleccionarla
desde el menú Ver o también puedes hacer clic derecho sobre alguno de los controles y
seleccionar la opción Propiedades lo cual mostrará la ventana:
Encuentra la propiedad Caption y al lado derecho ingresa el valor de dicha propiedad
para el control seleccionado. En la imagen anterior estamos viendo las propiedades de
la etiqueta llamada Label1 y por lo tanto he colocado el texto Temperatura. Para hacer
el cambio de esta propiedad para el botón de comando solo debes seleccionarlo de la
lista desplegable que se encuentra en la parte superior de la misma
ventana Propiedades. Al terminar el cambio de la propiedad Caption tendremos el
formulario de la siguiente manera:

En la imagen anterior puedes notar que también he cambiado en el título del formulario
y lo puedes hacer modificando también la propiedad Caption del formulario mismo.

AGREGAR OPCIONES AL CUADRO DE LISTA

Un último cambio que haremos a los controles es agregar los valores al cuadro de lista.
Para nuestro ejemplo solo necesitamos los valores Celsius y Fahrenheit pero no existe
una propiedad del control que nos permita hacerlo sino que debemos utilizar código
VBA. Para especificar estas opciones debemos hacer doble clic sobre el formulario y
seleccionar el código para el procedimiento Initialize donde colocaremos las
instrucciones necesarias para agregar las opciones:

La instrucción AddItem es la que nos permite agregar un nuevo elemento al cuadro de


lista y la instrucción ListIndex nos permite indicar el valor que estará seleccionado al
cargarse el formulario y que será la opción Celsius ya que es la primera opción de la lista
y por lo tanto tiene asociado el índice cero.

CÓDIGO DEL BOTÓN DE COMANDO

Finalmente agregaremos código VBA al botón de comando que será el encargado de


hacer la conversión, solo haz doble clic sobre el botón para mostrar la ventana de código
asociada. El código que colocaremos en el procedimiento Click será el siguiente:

1 Private Sub CommandButton1_Click()


2
3 'Validar que se ha especificado una temperatura
4 If TextBox1.Value = "" Then
5 MsgBox "Debes especificar una temperatura"
6 Exit Sub
7 End If
8
9 'Si es Celsius convertir a Fahrenheit
10 If ComboBox1.ListIndex = 0 Then
11 temperatura = TextBox1.Value * 1.8 + 32
12 MsgBox temperatura & " Fahrenheit"
13 'Si es Fahrenheit convertir a Celsius
14 Else
15 temperatura = (TextBox1.Value - 32) * 5 / 9
16 MsgBox temperatura & " Celsius"
17 End If
18
19 End Sub

La primera validación dentro del código verifica que el cuadro de texto no esté vacío en
cuyo caso desplegará un mensaje solicitando ingresar una temperatura y
posteriormente sale de la subrutina. La segunda validación es para saber si el cuadro de
lista tiene seleccionada la opción Celsius y por lo tanto hacer la conversión a Fahrenheit
para mostrar el resultado. Por el contrario, si el cuadro de lista tiene seleccionada la
opción Fahrenheit se hará la conversión a Celsius. Para probar el funcionamiento de
nuestro formulario es suficiente con pulsar el botón Ejecutar que se encuentra en la
barra de herramientas Estándar:

Observa el comportamiento final del formulario:

Ya que hemos terminado con la construcción del formulario y el código necesario para
su funcionamiento, podemos dar un paso adicional para llamar el formulario desde una
hoja de Excel.

CARGAR FORMULARIO DESDE UNA HOJA DE EXCEL

Para cargar un formulario desde una hoja de Excel será suficiente con agregar un botón
de comando ActiveX desde la ficha Programador:
Al hacer doble clic sobre el botón se mostrará el código asociado al evento Click del
botón y debemos colocar una sola instrucción:

Con esto será suficiente para que al momento de pulsar el botón de la hoja de Excel se
muestre el formulario VBA recién creado y podamos realizar la conversión de
temperaturas. Aunque este es un ejemplo muy sencillo espero que sea útil para darte
cuenta del gran potencial que existe en el uso de formularios en Excel.

8. CONVERTIR NÚMEROS A LETRAS EN EXCEL


El convertir números a letras en Excel es una tarea utilizada por muchas personas y sin
embargo la herramienta aún no cuenta con una función que nos permita hacerlo con
facilidad, por lo que es necesario crear una función definida por el usuario para lograr
este objetivo.

FUNCIÓN PARA CONVERTIR NÚMEROS A LETRAS EN EXCEL

La función que he creado para convertir números a letras en Excel la he llamado


CONVERTIRNUM y su sintaxis es muy simple porque tiene solamente dos argumentos:
Número (Obligatorio): Es el número que deseamos convertir a letras.
CentimosEnLetra (Opcional): Indica si deseamos tener la descripción de
los céntimos (decimales) en letra. Si se especifica el valor FALSO o
simplemente se omite, la función mostrará los céntimos como un valor
numérico.
EJEMPLOS PARA CONVERTIR NÚMEROS A LETRAS

IMPORTANTE: El libro con el código se encuentra en la plataforma


http://virtual.sistemas.upea.bo/

El ejemplo más sencillo para convertir un número a letras es utilizando la función


CONVERTIRNUM de la siguiente manera:
=CONVERTIRNUM(C4)
Como puedes observar, en esta ocasión he omitido el segundo argumento de la función.
Esto nos devolverá la descripción en texto del número contenido en la celda C4 y los
centavos en valor numérico:

Si por el contrario, necesito la descripción de los centavos en letras será suficiente con
indicar el valor VERDADERO para el segundo argumento de la función:

=CONVERTIRNUM(C8, VERDADERO)
Observa cómo el texto del número ahora muestra los centavos también en letras:

TEXTO EN MAYÚSCULAS

Si necesitas que el número en letras sea todo en mayúsculas, puedes utilizar la función
de Excel MAYUSC para realizar la conversión.
AGREGAR TEXTO ADICIONAL

También es probable que necesites agregar algunos caracteres especiales al texto del
número como pueden ser paréntesis. Para ello podemos utilizar la función de Excel
CONCATENAR para agregar dichos caracteres.

Para el caso específico de México, podemos agregar la leyenda “M.N” al final del texto
así como la palabra “SON” al principio, en caso de que acostumbres utilizarla.

Aunque estos caracteres y palabras adicionales para México podrían estar incluidos
dentro de la función, decidí removerlos para tener un código que pueda ser reutilizable
por otros países donde no se acostumbra este tipo de nomenclatura.

CONFIGURAR EL NOMBRE DE MONEDA PARA OTROS PAÍSES

Como mencioné al principio de este artículo, la función CONVERTIRNUM muestra de


manera predeterminada la palabra “Pesos” y “Centavos”, pero a continuación te
mostraré como cambiar estas palabras para utilizar la moneda de otro país.
Para iniciar con este cambio debes ir a la ficha Programador y pulsar el botón Visual Basic
para abrir el Editor de Visual Basic y hacer doble clic sobre el Módulo1:

Esto mostrará el código de la función y deberás poner especial atención a una sección
que he marcado como “Parámetros”:

En esta sección se deben realizar los cambios en los nombres de moneda. Por ejemplo,
si deseo utilizar bolívares y céntimos (Venezuela) debo modificar el código para que
quede de la siguiente manera:
Al terminar solo debes asegurarte de guardar los cambios y finalmente cerrar el Editor
de Visual Basic. Ahora la función ya está lista para convertir números a
letras considerando el nombre de moneda especificado.

CONSIDERACIONES ADICIONALES

Es importante que consideres que esta función podrá convertir números a letras en
Excel empezando desde el cero y hasta el número 1,999,999,999. Para cualquier
número fuera de este rango la función devolverá el mensaje “ERROR: El número excede
los límites”.
Si deseas utilizar este código en otros libros solamente debes copiar el código del
Módulo1 a tu propio libro de Excel. O también puedes copiar el código al Libro de
macros personal de manera que puedas utilizar automáticamente la función en todos
los libros sin la necesidad de copiarlo a cada uno de ellos.

También podría gustarte