INFORMACIÓN GENERAL DE VISUAL BASIC DE EXCEL
“Visual Basic de Excel”
Visual Basic de Excel, es un lenguaje de programación de Office con el que es posible crear aplicaciones nuevas y funciones personalizadas para ahorrar tiempo en programas como Excel. En este sentido, tiene como principal virtud la capacidad de automatizar casi todas las operaciones de esta aplicación, algo que lo convierte en uno de los mejores recursos a la hora de eliminar tareas repetitivas. No obstante, todo depende de la creatividad del usuario y de sus conocimientos.
Para programar con Visual Basic en Excel, es importante tener claro cuándo es conveniente utilizar este lenguaje. Es posible que haya ocasiones en las que exista una opción más sencilla para alcanzar el objetivo requerido. En líneas generales, VBA es conveniente utilizarlo cuando hay que hacer tareas repetitivas en Excel o cálculos muy complicados de una forma manual.
En estas situaciones, sería conveniente programar una determinada tarea, o varias, para poder ejecutarla con un simple botón o mediante la configuración de un comando. De esta manera, con la escritura en código de tareas concretas, es posible conseguir el objetivo deseado: automatizar pasos y realizar tareas complejas en Excel aumentando la eficiencia del trabajo.
¿Para qué sirve Visual Basic en Excel?
Ejemplos de Visual Basic en Excel
Dos ejemplos pueden ilustrar lo que puede hacer para agilizar el trabajo el lenguaje de programación Visual Basic en Excel:
- Ejemplo 1: “Limpiar celdas tras importar datos”. Hay profesionales que se dedican a realizar estudios y análisis basándose en datos extraídos de diferentes fuentes. Estas últimas pueden proceder de todo tipo de documentos y archivos. Algunos son compatibles con Excel, y otros no.
En este sentido, por ejemplo, los datos extraídos de un PDF pueden no ser importados de forma correcta a Excel. Cuando se copian y pegan, suelen quedar filas en blanco que hay que depurar para poder trabajar en las hojas de cálculo. En este caso, si son pocos datos y tan solo tuviéramos que hacer esta tarea una vez al año, el trabajo de depuración podría hacerse a mano. Sin embargo, el problema viene cuando esta tarea la hacemos miles de veces con cientos de documentos diferentes. Ahí, el profesional tiene un problema si no automatiza la tarea.
Con VBA, podríamos programar una tarea para eliminar las filas vacías de cualquier hoja de cálculo de Excel, de modo que esta pudiera aplicarse a todos nuestros documentos con solo ejecutar un comando.
- Ejemplo 2: “Calcular un descuento por unidades vendidas”. También se puede programar en Visual Basic en Excel, por ejemplo, una tarea para que calcule de forma automática un descuento del 10% en ciertos productos, siempre que se vendan más de 300 unidades, redondeando a dos décimas. De esta manera, una vez que se tiene el código escrito, se puede utilizar esta solución en todo nuestro libro, o en cualquier otro, sin tener que introducir la fórmula de forma manual en cada libro, lo que nos permitirá ahorrar tiempo en una tarea repetitiva.
¿Cómo funciona Visual Basic en Excel?
El editor de VBA es una ventana independiente al libro de Excel en el que se está trabajando. Es decir, a ella se llega desde la pestaña “Programador” y se puede escribir código de manera directa o cerrarla sin que afecte a nuestro libro. Sin embargo, antes de llegar al editor de Visual Basic, hay que conocer las dos formas de programar con Visual Basic en Excel: la automática y la manual.
La forma automática es la que se utiliza cuando se graban “Macros”. Aunque no se vea, al hacer una “Macro”, Excel está programando en VBA “por detrás”. En este sentido, el uso de las macros es un recurso muy interesante para aquellos que no saben programar en este código y quieren automatizar tareas de una forma más sencilla.
La otra forma de programar con VBA en Excel requiere conocer los conceptos de este código de programación y su filosofía. Programar manualmente ofrece una mayor versatilidad a la hora de desarrollar nuevas aplicaciones y crear soluciones personalizadas dentro de Excel.
FORMULARIO
No son más que un cuadro de diálogo de Excel donde podremos colocar controles que nos ayudarán a solicitar información del usuario. Podremos colocar cajas de texto, etiquetas, cuadros combinados, botones de comando, etc.
CREAR UN FORMULARIO EN EXCEL
Los formularios de Excel son creados desde el Editor de Visual Basic donde debemos seleccionar la opción de menú Insertar y posteriormente la opción UserForm.
Inmediatamente se mostrar un formulario en blanco y de igual manera podrás observar el Cuadro de herramientas:Si no ves el Cuadro de herramientas puedes seleccionar el menú Ver y la opción Cuadro de herramientas.
AGREGAR CONTROLES AL FORMULARIO
Para agregar un control al formulario debes seleccionarlo del Cuadro de herramientas y dibujarlo sobre el formulario. En mi formulario he agregado etiquetas y cuadros de texto así como un par de botones de comando:
- El texto de las etiquetas se modifica en la propiedad llamada Caption. Para realizar este cambio solamente selecciona el control y se mostrará la ventana de Propiedades donde podrás hacer la modificación. De igual manera el texto desplegado en los botones de comando se modifica en su propiedad Caption.
CÓDIGO PARA EL BOTÓN CANCELAR
Private Sub CommandButton2_Click()
Unload Me
End Sub
Para agregar este código puedes hacer doble clic sobre el control. La sentencia “Unload Me” cerrará el formulario.CÓDIGO PARA EL BOTÓN ACEPTAR
A diferencia del botón Cancelar, el botón Aceptar colocará los datos de las cajas de texto en las celdas A1, B1 y C1. El código utilizado es el siguiente:
Private Sub CommandButton1_Click()
Worksheets("Hoja1").Range("A1").Value = Me.TextBox1.Value
Worksheets("Hoja1").Range("B1").Value = Me.TextBox2.Value
Worksheets("Hoja1").Range("C1").Value = Me.TextBox3.Value
End Sub
Al pulsar el botón Aceptar se transferirán los valores de los controles TextBox hacia las celdas de la Hoja1.
BOTÓN PARA ABRIR FORMULARIO
Para facilitar la apertura del formulario puedes colocar un botón ActiveX en la hoja con el siguiente código:
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
PROBAR EL FORMULARIO
Observa cómo cada uno de los botones realiza la acción correcta al pulsarlos:
Diseños
VISTA DISEÑO DE PÁGINA
La vista Diseño de página de Excel es una vista previa de la impresión de una página. Para activar la vista debes pulsar el botón Diseño de página que se encuentra en la barra de estado en la esquina inferior derecha.
De los tres botones mostrados en la barra de estado, el botón de la vista Diseño de página es el que se encuentra en medio de los tres. También puedes activar esta vista con el botón ubicado en la ficha Vista dentro del grupo Vistas del libro.
Al estar en esta vista se mostrarán los márgenes de cada una de las páginas a imprimir y en caso de que se tenga algún encabezado o pie de página también serán mostrados.Para ver todas las páginas que serán impresas puedes hacer uso de la barra deslizadora del Zoom que se encuentra en la barra de estado de manera que al alejarse se muestre la información de todas las páginas.
Cuando cambias a la vista Diseño de página se mostrará una regla horizontal y una vertical. La unidad de medida de la regla serán las unidades que han sido configuradas de manera predeterminada en el equipo. Para saber qué unidad de medida ha sido configurada o para realizar algún cambio debes ir a la Vista Backstage, seleccionar Opciones y posteriormente Avanzadas. Dentro de la sección Mostrar encontrarás la lista de opciones para las unidades de la regla.
Si deseas desactivar la regla mostrada en la vista Diseño de página debes hacer clic en la ficha Vista y remover la selección de la opción Regla que se encuentra en el grupo Mostrar.
Cuadro de Herramientas
Mostrar el cuadro de herramientas
El cuadro de herramientas de puede encontrar visible cuando tenemos un formulario, debe aparecer flotando cerca al mismo, sin embargo si no esta disponible podemos activarlo de cualquiera de las siguientes formas:
1) En el Editor de Visual Basic, seleccionar Ver, luego la opción Cuadro de herramientas
2) En el conjunto de íconos estándar, seleccionar el ícono con las herramientas
Añadir controles al formulario
Para utilizar los controles existentes en el cuadro de herramientas, tenemos dos alternativas:
1) Hacer clic sobre el botón del Cuadro de herramientas que corresponde al control que se quiere añadir, y después se hace clic dentro del formulario.
2) También se puede hacer clic sobre el control y después arrastrar el puntero del ratón hasta el cuadro de diálogo y especificar las dimensiones para el control.
Controles de formulario en Excel
En el cuadro de herramientas se encuentran por defecto los siguientes controles:
Casilla de Verificación
Un control casilla de verificación (CheckBox en VBA) , tambien llamada "Casilla" en algunas versiones de Excel, permite ofrecer al usuario una opción binaria: Sí o No, Verdadero o Falso, activar o desactivar, y simlares.
Cuando la casilla de verificación se encuentra seleccionada le corresponde el valor Verdadero, y si no esta seleccionada le corresponde el estado Falso.
Cuadro Combinado
El cuadro combinado (ComboBox en VBA) permite mostrar una lista desplegable de elementos, y cuando la lista no esta desplegada solo se muestra un elemento (el elemento seleccionado).
Botón de Comando
Este control (CommandButton en VBA) permite la adición de botones al formulario, estos botones al ser añadidos no realizan ninguna acción, las acciones que deseamos que cada botón realice deben ser especificada por medio de comandos en VBA.
Botón Marco
Un control Marco (Frame) se usa para agrupar otros controles, esta agrupación puede estar motivada por un tema estético, o por que se desea mostrar que los controles incluidos en el marco corresponden a un grupo de opciones.
Pasos para añadir controles al cuadro de herramientas
Para añadir algunos controles en el cuadro de herramientas, debemos hacer click con el botón derecho del mouse en la zona de controles, y elegir la opción "Controles adicionales".
- En la ventana controles adicionales, se encuentran los controles que están instalados en nuestro equipo, solo debemos seleccionar el que necesitamos activar, presionar "aceptar", y listo, el control ahora estará disponible dentro del cuadro de herramientas.
Planillas básicas
Básicamente, las plantillas Excel son documentos preestablecidos y preformateados, que se desarrollan a partir de una hoja de cálculos simple, permitiendo guardar y personalizar tanto el formato como las fórmulas de cálculo utilizadas. De este modo, sirven de base para que otro usuario prepare un nuevo documento de similares características, pero con diferente contenido.
Consecuentemente, una plantilla Excel agiliza de manera significativa la reproducción de documentos similares o idénticos. Esto permite que sean utilizadas para llevar un control detallado de múltiples tareas complejas y críticas para toda empresa, como presupuestos, gastos, comisiones sobre ventas, flujos de caja, inventarios y provisiones, entre otras diferentes opciones.
Las mejores opciones para cargar las plantillas de Excel
Tal como mencionamos anteriormente, hoy el mercado ofrece múltiples opciones para descargar Plantillas Excel listas para su uso, y que incluyen todas las configuraciones necesarias de columnas, colores, fórmulas y tipografías. La gran mayoría de ellas son gratuitas, aunque también existen alternativas de pago.
Entre las más destacadas se encuentran las siguientes:
Templates Office
En esta lista no puede faltar la plataforma oficial de Office, donde es posible encontrar gran cantidad de plantillas divididas por categoría. Algunas son gratuitas y otras de pago. Su descarga es muy sencilla, pues sólo se debe pulsar la más atractiva o apropiada para cada empresa o usuario, y luego seleccionar su descarga para empezar a trabajar en ella.
Planillaexcel.com
Es una de las mejores plataformas “no oficiales” para descargar plantillas de Excel, dado que ofrece gran cantidad de diseños muy creativos relacionados con gran cantidad de funcionalidades diversas como calendarios, ciencia, contabilidad y economía, entre muchas otras opciones. Su descarga es gratuita, y en cada una de las hojas de cálculo ofrecidas se encuentran sus características principales, así como la respectiva versión de Microsoft Excel compatible para trabajar.
Diseño de Cuadros combinados
Un cuadro combinado es una lista desplegable desde donde un usuario puede seleccionar un elemento o
completar su propia elección. Para crear un cuadro combinado en Excel VBA , ejecute
los siguientes pasos.
1. En la pestaña Desarrollador , haga clic en Insertar.
2. En el grupo Controles ActiveX, haga clic en Cuadro combinado.
3. Arrastre un cuadro combinado en su hoja de trabajo.4. Abra el Editor de Visual Basic .
5. Haga doble clic en Este libro en el Explorador de proyectos.
6. Elija Libro de trabajo en la lista desplegable de la izquierda y elija Abrir en la lista desplegable de la derecha.
7. Para agregar elementos al cuadro combinado, agregue las siguientes líneas de código al Evento de apertura del libro de trabajo.
Listas de textos
1. Presentación
Los cuadros de lista (ListBox) de un cuadro de diálogo permiten al usuario seleccionar un elemento entre una lista de datos. El usuario no tiene la posibilidad de agregar o modificar los valores de una lista cuando el cuadro de diálogo aparece al ejecutar el programa.
Para agregar un cuadro de lista a su cuadro de diálogo, haga clic en el icono del cuadro de herramientas y haga clic y arrastre el ratón en el UserForm para hacer aparecer un control ListBox.Las principales propiedades del control son:
Name
Para atribuir un nombre a un objeto.
Caption
Para cambiar el valor del título en el cuadro de diálogo.
Visible
Para mostrar o no el objeto en el cuadro de diálogo.
Enabled
Para hacer el objeto accesible o no.
RowSource
Para precisar el origen de los valores. Se puede tratar de celdas de una hoja de cálculo o de datos transmitidos por un programa.
ListStyle
Para agregar un icono delante de los datos (1) o mostrar únicamente los valores (0).
MultiSelect
Para permitir seleccionar un solo valor (0) o varios (1). Puede realizar una selección múltiple ya sea seleccionando cada valor pulsando al mismo tiempo la tecla Ctrl, o haciendo una selección pulsando la tecla Mayús.
MatchEntry
Para poder usar el teclado para acceder más rápidamente a los elementos de la lista.
Por ejemplo, puede crear un cuadro de lista como este:
Con las siguientes propiedades:
2. Manipular los datos de la lista
Recuperar el valor del elemento...
Formularios con porcentajes
El porcentaje es un tema muy conocido por la mayoría de los usuarios ya que este tema ha sido tocado o aplicado en alguna etapa de nuestras vidas. El porcentaje tiene por símbolo matemático denominado “por ciento” (%) y representa una fracción o también representa un parte del total.
A continuación, por medio del software de hojas de cálculo que tiene por nombre Excel desarrollaremos un ejercicio en la cual realizaremos paso por paso el cálculo del porcentaje por dos formas distintas.
Primeramente haremos el cálculo del porcentaje sin macros y finalmente lo calcularemos por medio del VBA (con macros).
CÁLCULO DEL PORCENTAJE
Nos dan esta base de datos (que pudimos crear mediante el uso de un formulario) que corresponde a la venta mensual de los promotores de venta de la marca de calzados Hush Puppies.
Nos piden calcular el porcentaje de cada uno de estos promotores con respecto al total vendido en dicho mes.
RESOLUCIÓN:
PASO 1: Primeramente lo que haremos es saber y calcular el monto total vendido en el mes (de todos los promotores) para poderlo tomar como la totalidad (100%).
Para poder sumar aplicaremos una fórmula que la muestro a continuación:
=SUMA(“Rango de celdas”)
Escribiremos “=SUMA( )” luego de la última fila de la base de datos, y dentro de los paréntesis debemos seleccionar el rango de celdas que contienen los números que queremos sumar y automáticamente nos va a salir la suma total de todo lo que vendieron los promotores en el mes.
PASO 2: Nos dirigiremos y seleccionaremos la celda E2 para luego digitar el signo igual (=).- A continuación de escribir el signo igual (-) en la celda E2; seleccionaremos la celda D2 (celda de
color azul), digitamos el signo slash (/), selecciona la celda D17 (celda de color rojo) que es la
celda de la suma total de las ventas de los promotores en el mes y presionamos la tecla F4 para
fijarlo.
- PASO 3: Para finalizar esta primera forma de calcular porcentajes sin el uso de las macros, al
seleccionar la celda E2 podremos visualizar un cuadrado pequeño de color verde en la esquina
inferior derecha de la celda E2 y en dicho cuadrado pequeño verde daremos dos clics izquierdos.
Vaciado de Formularios en las Hojas Electrónicas
Las hojas electrónicas de cálculo son programas que permiten realizar cálculos matemáticos; ya sea operaciones sencillas hasta cálculos complejos, realizar gráficos y organizar datos.
Desde la aparición de las hojas de cálculo, que con el tiempo se han vuelto más funcionales y versátiles, se ha visto simplificada la realización de operaciones financieras y contables.
Gracias a su practicidad, no ha habido ningún método que, con el transcurso de los años, logre reemplazarlo, sin embargo, este tipo de programas han sufrido actualizaciones, han ido agregando nuevas herramientas, permitiendo la interacción con otras aplicaciones y mejorando el rendimiento y la estabilidad.
Microsoft Excel es la hoja de cálculo más utilizada alrededor del mundo en el ámbito empresarial. Este programa, que pertenece la empresa Microsoft, permite, mediante la carga de datos, realizar cálculos matemáticos, elaborar tablas, aplicarles formatos y representar la información mediante gráficos para simplificar el análisis de la misma.
Las hojas de cálculo electrónicas están conformadas por celdas, filas y columnas, las cuales son aptas para cargar tanto datos numéricos como alfanuméricos. Las celdas, que son los espacios donde se cargan los datos, se encuentran agrupadas en filas y columnas, lo cual permite, mediante diferentes funciones, filtrar datos, ordenarlos según nuestra conveniencia, crear tablas, gráficos, etc.
El área de trabajo de Excel está conformada por diferentes partes que cumplen distintas funciones:
- Celdas: es el espacio donde se carga la información. Puede contener tanto números como letras.
- Columnas: están conformadas por las celdas que se agrupan de forma vertical y están identificadas por letras, que respetan el orden alfabético, y no permiten ser modificadas.
- Filas: están conformadas por las celdas que se encuentran horizontalmente en la hoja de cálculo. Las mismas poseen un numero denominado cabecera. De acuerdo a la necesidad de cada trabajo, es posible agregar o quitar filas.
- Icono de Excel: permite realizar diferentes tareas como minimizar o cerrar la ventana, entre otras acciones.
- Barra de herramienta de acceso rápido: se encuentra en la esquina superior izquierda de la hoja de hoja de cálculo y permite anclar aquellos comandos que utilizamos más a menudo.
- Barra de título: allí se indica el nombre del libro que se encuentra en uso.
- Botón de ayuda: permite abrir el sistema de ayuda y buscar información sobre el tema que nos compete.
- Cuadro de nombres: indica, entre otras cosas, cual es la celda que se encuentra activa. Además, permite cambiando la dirección, desplazarte con facilidad hacia otra celda.
- Asistente de funciones: permite insertar una función de manera sencilla ya que guía al usuario durante el proceso.
- Barra de fórmulas: muestra los datos y las formulas contenidas en las celdas y permite editar o modificar las mismas.
- Pestaña archivo: permite gestionar diferentes acciones sobre el documento, como guardar, abrir, compartir, exportar.
- Pestañas de las hojas: las hojas de cálculo en general están conformadas por diferentes hojas. En la parte inferior izquierda se encuentran las pestañas, mediante las cuales se pueden añadir, copiar o quitar hojas, moverse por las mismas, etc.
- Cinta de opciones: permite organizar y personalizar los comandos para realizar diversas acciones con tan solo presionar sobre los iconos.
- Barra de estado: permite conocer el estado actual de distintas situaciones de Excel; contiene el indicador de modo, la opción para activar el zoom, grabar macro, etc. La barra de estado permite ser personalizada, agregando o deshabilitando opciones.
Convertidores de Formularios
A continuación, veremos un programa en Excel VBA que crea un formulario de usuario
que convierte cualquier cantidad de una moneda a otra.
El formulario de usuario que vamos a crear tiene el siguiente aspecto:
Para crear este formulario de usuario, ejecute los siguientes pasos.1. Abra el Editor de Visual Basic . Si el Explorador de proyectos no está visible, haga clic en Ver, Explorador de proyectos.
2. Haga clic en Insertar, formulario de usuario. Si la Caja de herramientas no aparece automáticamente, haga clic en Ver, Caja de herramientas. Su pantalla debe configurarse como se muestra a continuación.
3. Agregue las etiquetas, los cuadros de lista (primero a la izquierda, el segundo a la derecha), los
cuadros de texto (primero a la izquierda, el segundo a la derecha) y el botón de comando. Una vez que
se haya completado, el resultado debe ser coherente con la imagen del formulario de usuario que se
mostró anteriormente. Por ejemplo, cree un control de cuadro de lista haciendo clic en ListBox en el
cuadro de herramientas. A continuación, puede arrastrar un cuadro de lista en el formulario de usuario.
4. Puede cambiar los nombres y los títulos de los controles. Los nombres se utilizan en el código de Excel VBA. Los subtítulos son los que aparecen en su pantalla. Es una buena práctica cambiar los nombres de los controles, pero no es necesario aquí porque solo tenemos unos pocos controles en este ejemplo. Para cambiar el título del formulario de usuario, el botón de comando y las etiquetas, haga clic en Ver, Ventana Propiedades y haga clic en cada control.
5. Para mostrar el formulario de usuario, coloque un botón de comando en su hoja de trabajo y agregue la siguiente línea de código:
Private Sub CommandButton1_Click()UserForm1.ShowEnd SubAhora vamos a crear el Sub UserForm_Initialize. Cuando utilice el método Show para el formulario de usuario, este sub se ejecutará automáticamente.
6. Abra el Editor de Visual Basic .
Módulos
1. PresentaciónEl código VBA asociado a un libro está agrupado en un proyecto que contiene varias carpetas:
La carpeta Microsoft Excel Objetos Contiene un módulo de clase asociado al libro del proyecto (llamado por defecto ThisWorkbook) y un módulo de clase por cada una de las hojas de cálculo u hojas de gráfico del libro. En particular, en estos módulos de clase se encuentran los procedimientos de eventos asociados al libro y a las hojas. La carpeta Formularios Contiene los formularios (UserForm) del proyecto y el código VBA asociado. La carpeta Módulos Agrupa los diferentes módulos estándares (compuestos por uno o más procedimientos) que pueden ser llamados desde cualquier procedimiento del proyecto. La carpeta Módulos de clase Contiene los módulos de clase usados para la creación de nuevas clases de objetos. Los módulos de clase se utilizan especialmente para la escritura de los procedimientos de eventos asociados a los objetos Application y Chart (ver capítulo Administración de eventos).
La lista de todos los módulos aparece en forma jerárquica en el Explorador de proyectos del entorno VBE
Si el explorador de proyectos no está visible, elija la opción Explorador de proyectos del menú Ver o pulse el método abreviado [Ctrl] R
Los elementos del lenguaje VBA descritos en este capítulo se pueden usar en los diferentes módulos2. Acceso a los módulos
Para insertar un nuevo módulo en el entorno VBE, use la opción Módulo del menú Insertar, o haga clic en el icono
Si la ventana Módulo está maximizada, el nombre del módulo aparece sobre la barra de título de Microsoft Visual Basic. Para pasar de un módulo a otro, en la ventana Proyecto, haga doble clic en el nombre del módulo que desea activar. Para eliminar un módulo, en la ventana Proyecto, haga clic derecho en el nombre del módulo que desea eliminar, elija la opción Quitar Módulo e indique si desea exportar el módulo o no (ver Importar y exportar código VBA). Para dar nombre a un módulo, active el módulo y cambie la propiedad Nombre en la ventana de Propiedades.
3. Importar y exportar código VBA
Los módulos y formularios pueden exportarse a un archivo para luego importarlo a otro proyecto de Excel.
Para exportar un archivo, haga clic en el nombre del archivo en el explorador de proyectos, luego seleccione la opción Exportar archivo del menú Archivo (o del menú contextual) o pulse la combinación de teclas [Ctrl] E. Para importar un archivo, haga clic en el nombre del archivo en el explorador de proyectos, luego seleccione la opción Importar archivo del menú Archivo (o del menú contextual) o pulse la combinación de teclas [Ctrl] M.
La extensión del archivo creado depende del tipo de archivo exportado:
1. Los módulos de clase (módulos asociados al libro y a las hojas y módulos de clase independientes) tienen la extensión .cls. l
2. Los formularios tienen la extensión.
3. Los módulos estándar tienen la extensión .bas.
Comentarios
Publicar un comentario