TIAC01 U4 Intro

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

APLICACIONES COMPUTACIONALES

Unidad 4 - Creación de una macro y diseño


de formularios
APLICACIONES COMPUTACIONALES

Indice
MACROS 3
Acceder a MACROS 3
Entorno de desarrollo 5
Aspectos básicos 5
Crear una MACRO 6
Subrutina 7

GRABADORA DE MACROS 8

FORMULARIOS 11
Formularios de datos 11
Controles de Formulario incrustados en hojas de cálculos 13
UserForms en VBA 15

Bibliografía 21

Unidad 4 - Creación de una macro y diseño de formularios 2


APLICACIONES COMPUTACIONALES

MACROS
Las macroinstrucciones o MACROS permiten realizar una serie de acciones repetitivas por medio
de comandos e instrucciones, lo que hace más eficiente el trabajo con nuestras planillas electróni-
cas.

Las MACROS se guardan en una zona especial de la planilla electrónica, y están disponibles para
ser ejecutadas cuando sea necesario, incluso con tan solo una combinación de teclas.
A modo de ejemplo, si diariamente se crea un reporte de ventas y en ese reporte siempre se
aplican los mismos formatos a los textos, se podría crear una macro para que lo haga automáti-
camente. Las macros se utilizan principalmente para eliminar la necesidad de repetir los pasos de
aquellas tareas que se deben realizar una y otra vez.

Las macros se escriben en un lenguaje de programación llamado Visual Basic for Applications
(VBA), ampliamente utilizado, desde hace ya un par de décadas, especialmente por su sencillez y
fácil comprensión.

Acceder a MACROS

Unidad 4 - Creación de una macro y diseño de formularios 3


APLICACIONES COMPUTACIONALES

Para acceder a las MACROS, en Excel:

1. Selecciona, en la cinta de opciones, la ficha Vista.


2. Escoge, en el conjunto Macros, el botón Macros para que despliegue un menú de tres
opciones.
3. Pincha sobre la opción “Ver macros”, aparecerá una ventana emergente con el listado de
Macros asociadas a la planilla. Allí puedes crear una nueva MACRO o modificar las existentes.
4. Al hacer clic en “Opciones”, se permite definir una combinación de teclas para ejecutar la
macro aún más rápido, e incluir una descripción.

Para tener mayor control de las opciones que tienen las MACROS, puedes habilitar la ficha o
pestaña “Desarrollador”. Para visualizar esta ficha dentro de la cinta de opciones (por defecto no
aparece), debes:

1. Ir a Archivo > Opciones.


2. En la ventana emergente, escoger la opción “Personalizar cinta de opciones”, y activar la
casilla “Desarrollador” en Pestañas principales.
3. Con esto, nuestra cinta entregará más opciones para acceder a las MACROS y sus funciona-
lidades.

Unidad 4 - Creación de una macro y diseño de formularios 4


APLICACIONES COMPUTACIONALES

Entorno de desarrollo

El entorno de desarrollo es muy similar a lo que fue Visual Basic 6.0, con una estructura que permi-
te visualizar los archivos del proyecto.

3 4

1. Listado de archivos del proyecto, módulos, hojas y otros objetos.


2. Ventana de código fuente.
3. Propiedades del archivo seleccionado.
4. Ventana de inspecciones.

Aspectos básicos

La programación en VBA puede ser un tanto atemorizante para gran parte de los usuarios de Excel,
sin embargo tras comprender los principios básicos de programación en VBA se estará en condicio-
nes de crear soluciones más robustas y muy efectivas.

Unidad 4 - Creación de una macro y diseño de formularios 5


APLICACIONES COMPUTACIONALES

Lo primero que debemos entender es que cada elemento de Excel, es representado en VBA como
un objeto con el que podemos interactuar. Por ejemplo, el objeto Workbook representa a un libro
de Excel. De igual forma, el objeto Sheet representa una hoja y el objeto Chart un gráfico.

Luego, cada uno de estos objetos tiene propiedades y métodos. Una explicación rápida para estos
conceptos, es que las propiedades corresponden a características de un objeto, y los métodos a las
acciones que pueden realizar. Por ejemplo, si nuestro objeto es un árbol, sus propiedades serían
desde la especie, los años, si es frutal o no, etc. En cambio, los métodos serian florecer, caducar
hojas, crecer, etc.

El objeto Workbook tiene propiedades como Name (nombre), ReadOnly (solo lectura), ActiveSheet
(hoja activa), FileFormat (Formato del archivo), etc. Algunos de sus métodos son Save (Guardar),
Close (Cerrar), SendMail (Enviar por mail), PrintOut (Imprimir), etc.

Crear una MACRO

Para crear una MACRO, debes comenzar creando un módulo, donde podrás escribir las rutinas que
darán vida a tu macro. Para crear un módulo, debes:

3
4

1. En la pestaña Desarrollador, haz clic sobre el primer botón que aparece en la cinta de
opciones “Visual Basic”.
2. Hacer clic con el botón derecho sobre el nombre del proyecto: VBAProject(Nombre del
Archivo) por defecto.
3. En el menú desplegable seleccionar “Insertar”.
4. Luego pinchar la opción módulo.

Unidad 4 - Creación de una macro y diseño de formularios 6


APLICACIONES COMPUTACIONALES

Subrutina

El concepto de subrutina comprende la ejecución de un conjunto de instrucciones secuenciales.


Una subrutina comienza con la instrucción Sub, y termina con End Sub. Entonces, toda instrucción
que se encuentre entre Sub y End Sub, será ejecutada secuencialmente. Por ejemplo, en la ventana
que abrimos en el paso anterior, se encuentra una sección o subventana llamada “Código”, allí
podemos escribir las siguientes líneas:

La subrutina HolaMundo(), al ser ejecutada, abre una ventana emergente y en ella muestra un
mensaje que dice “Hola curso!”.

Para ejecutar la subrutina basta colocar el cursor en alguna sección de dicha subrutina y pulsar la
tecla F5.

Unidad 4 - Creación de una macro y diseño de formularios 7


APLICACIONES COMPUTACIONALES

GRABADORA DE MACROS
Si bien se le saca mayor partido a una macro escribiéndola uno mismo, también es cierto que no
todos tienen la intención ni la paciencia de escribir código en VBA. Por eso, Excel incorpora un útil
grabador de macros, el que tras “grabar” las acciones que realizas en Excel, te permite volver a
ejecutarlas cuantas veces necesites.

Por ejemplo, para establecer una MACRO, con la opción Grabar, que siempre nos ordene una tabla
de acuerdo a la primera columna sigue estos pasos:

1. Selecciona la pestaña Desarrollador, dentro de la cinta de opciones, y en el conjunto Códi-


go, pincha Grabar macro.
2. Se abrirá una ventana en la que puedes asignarle un nombre a la MACRO. En este ejemplo,
hemos nombrado la MACRO como “OrdenarTabla”. Puedes asignar un método abreviado
desde el teclado para que ésta MACRO se ejecute siempre (así como cuando usas Ctrl + Z para
deshacer). Establece el lugar donde se guardará la MACRO y, finalmente, puedes escribir una
descripción con la que identifiques qué hace esa MACRO al ejecutarla.
3. Al pinchar sobre Aceptar, el grabador comenzará a trabajar. Por lo que debes comenzar a
hacer, paso a paso, el ordenamiento de los datos desde la primera columna (es como si estu-
vieses grabando un video con un procedimiento común, de varios pasos y que, después de
grabado, se va a resumir en un solo paso).
4. Después de haberte ubicado sobre la celda A1, selecciona la pestaña Datos, y en la cinta de
opciones busca Ordenar AZ. Al pinchar esta opción se organizarán todos los datos de la tabla
de acuerdo al orden descendente de la primera columna.

Unidad 4 - Creación de una macro y diseño de formularios 8


APLICACIONES COMPUTACIONALES

5. Ahora retornamos a la pestaña Desarrollo y buscamos la opción Detener grabación.

6. Selecciona Macros (Ver Macros), y verás listada la macro que acabamos de grabar con el
nombre que le dimos: “OrdenarTabla”.
7. Al seleccionar Modificar, podrás ver el código que ejecuta la Subrutina OrdenarTabla():

Unidad 4 - Creación de una macro y diseño de formularios 9


APLICACIONES COMPUTACIONALES

Te vamos a explicar, una a una, las líneas del código:

Para comentar una línea o parte del código, en VBA se coloca una comilla simple a la
izquierda de lo que quieres comentar (‘). En el ejemplo, por defecto, el grabador de macros deja
como comentario el texto “OrdenarTabla Macro”.

Range permite hacer referencia a un rango de celdas. En el ejemplo, se hace referencia a solo
una celda (A4), pero podría ser un rango como A1:C4.

ActiveWorkbook se refiere al libro que está activo. Este libro activo tiene Worksheets, es de-
cir, hojas, por lo que hacen referencia a la hoja que lleva por nombre “Ventas” que es donde se
encuentra alojada la celda A4. Sort.SortFields.Clear limpia cualquier ordenamiento que se haya
realizado sobre la hoja de “Ventas”.

Luego, Sort.SortFields.Add Key:=Range(“A4”), SortOn:=xlSortOnValues, Order:=xlAscending,


DataOption:=xlSortNormal, agrega un nuevo ordenamiento, por la columna A4, por sus valores,
ascendente y trabajando los datos como orden normal.

Unidad 4 - Creación de una macro y diseño de formularios 10


APLICACIONES COMPUTACIONALES

Finalmente, se definen algunos otros parámetros propios del ordenamiento. La instrucción


With, le indica a VBA que todas las líneas precedidas por un punto (.) hasta el End With, corres-
ponden a la estructura de objetos ActiveWorkbook.Worksheets(“Ventas”).Sort.

De esta forma, definió que el rango de datos que se ordenará por la llave (Key) A4, será
A5:H1000, el orden no incluye la cabecera, No considera las mayúsculas (pondera por igual
mayúsculas y minúsculas), orienta de arriba hacia abajo, etc. Finalmente, aplica el filtro.

FORMULARIOS
Los formularios en Excel tienen como objetivo minimizar los errores comunes en el ingreso de
datos a una planilla. Un símil a un formulario en Excel es el típico formulario en papel que más de
alguna vez hemos tenido que llenar.

Ahora bien, en Excel existen tres tipos de formularios que podemos utilizar de acuerdo a las nece-
sidades que tengamos:

Formularios de datos
Permiten llenar los datos de una tabla orientando, eficientemente, al usuario. Básicamente, mues-
tra en un formulario los datos correspondientes a un registro de una tabla.
Excel genera automáticamente este tipo de formulario, y para poder utilizarlo debes seguir estos
pasos:

Unidad 4 - Creación de una macro y diseño de formularios 11


APLICACIONES COMPUTACIONALES

1. En la barra de acceso rápido (esquina superior izquierda), busca la opción Personalizar.


2. En el menú que se despliega busca la opción Más comandos.
3. Se abrirá una ventana; dentro del listado que se muestra a la izquierda, selecciona el ítem
Barra de herramientas de acceso rápido.
4. En la cajilla Comandos disponibles en:, selecciona Todos los comandos.

5c
3

5b

5a

5d

5. En el listado que se muestra debajo de Todos los comandos, selecciona Formulario y dale
clic a “Agregar >>” y luego Aceptar.

Unidad 4 - Creación de una macro y diseño de formularios 12


APLICACIONES COMPUTACIONALES

6. Selecciona una celda de la tabla y pincha el icono de Formulario en la barra de accesos


rápidos.
7.Se desplegará un formulario de forma automática con todos los encabezados de la tabla
como campos de ingreso de datos.

Controles de Formulario incrustados en hojas de cálculos

Los controles de formulario son objetos propios de VBA, que podemos incrustar dentro de nues-
tras planillas, lo que nos dará funcionalidad adicional para la interacción con el usuario, y mejorar
el control sobre la información.

Con este tipo de controles, podemos ayudar a los usuarios a seleccionar dentro de una lista des-
plegable o permitir que el usuario inicie una macro con solo presionar un botón. Para hacer esto
último, debes:

Unidad 4 - Creación de una macro y diseño de formularios 13


APLICACIONES COMPUTACIONALES

1. Buscar la solapa o pestaña Desarrollador.


2. En el conjunto Controles, pincha el maletín que dice Insertar. Allí, vas a encontrar los
controles más usuales dentro de un formulario.
3. El primer control es la opción Botón, pínchalo y, a continuación, dibuja un rectángulo so-
bre las celdas vacías de la hoja.
4. Al terminar de dibujar el rectángulo se abrirá una ventana en la que podremos crear una
nueva macro, o bien seleccionar una ya existente, la que será ejecutada cuando el usuario
haga clic en el botón.
5. Selecciona la MACRO que ya creaste en el capítulo anterior (OrdenarTabla) y pincha
Aceptar.
6. Haciendo doble clic sobre el botón que acabamos de crear, podemos modificar el texto
por defecto (Botón 1) y colocar algo más claro para el usuario, por ejemplo: Ordenar por
Nombre de Vendedor.

Unidad 4 - Creación de una macro y diseño de formularios 14


APLICACIONES COMPUTACIONALES

Ahora, al hacer clic en el botón Ordenar por Nombre de Vendedor, se ejecutará la macro Orde-
narTabla, a la que hemos agregado una instrucción que muestra un mensaje al terminar.

UserForms en VBA

Los formularios en VBA permiten establecer un diálogo más fluido con el usuario, utilizando con-
troles como los vistos en el punto anterior. Para crear un formulario de usuario, debes hacer uso
del editor de VBA, el mismo explicado en el capítulo MACROS.

1. Selecciona la pestaña Desarrollador, dentro de la cinta de opciones, y en el conjunto


Código, pincha Visual Basic.
2. Una vez abierto el editor de VBA, en la barra de menú haces clic en Insertar y luego
UserForm. Esto habilitará un formulario en blanco para que, arrastrando los controles,
diseñemos un formulario de usuario que sea acorde a nuestras necesidades.

1 2

Unidad 4 - Creación de una macro y diseño de formularios 15


APLICACIONES COMPUTACIONALES

3. Los formularios, como buena parte de los objetos en VBA, tienen propiedades que pueden
ser editadas durante el diseño. Así, para cambiar el título a la ventana del formulario (User-
Form1), debes hacer click con el botón derecho del mouse sobre el área de desarrollo donde
aparece un menú contextual en el que debes seleccionar Propiedades, o también puedes
buscar la subventana directamente.
4. En la ventana Propiedades, ordena las opciones de configuración del formulario por Ca-
tegorías, y en la propiedad Caption, define un título adecuado (Formulario de ingreso). Allí,
también puedes modificar el color de fondo (BackColor) y el color del borde (BorderColor),
además de otras propiedades del formulario.

Aunque podríamos extendernos en la elaboración de un formulario para encuestas, votaciones o


consulta de datos. Nos vamos a centrar en un formulario de ingreso de datos, siguiendo con la idea
de ayudar a Pedro en sus labores como administrador de un servicio automotriz.

Por medio del cuadro de herramientas puedes crear, pinchando en un control y luego dibujando un
rectángulo sobre el área de desarrollo, un formulario como el que se muestra a continuación.

2 3

1. Puedes insertar logos y otros archivos gráficos en el formulario por medio del control Ima-
gen.
2. Los encabezados de campo (Marca, Modelo, Año y Operador), se insertan a partir del con-
trol Etiqueta.
De la misma forma en que cambiaste el título del formulario, puedes cambiar el caption de las
etiquetas.

Unidad 4 - Creación de una macro y diseño de formularios 16


APLICACIONES COMPUTACIONALES

3. Para que el ingreso de los datos sea rápido, puedes utilizar el control Cuadro de lista, me-
diante la cual puedes ofrecer un número limitado de opciones a ingresar.
Observa en la captura anterior la propiedad RowSource, allí puedes ver de dónde salen las
opciones del listado.
4. Los campos en blanco que aparecen enfrente de los encabezados, se agregan a partir del
control Cuadro de texto.
5. El botón Agregar Venta se inserta por medio del control Botón de comando.
Del mismo modo que cambiaste el título del formulario, puedes cambiar el caption del botón.

Ahora bien, hacen falta todas las acciones sobre los objetos que hemos puesto en el formulario.
Si fueses un experto programador, te daríamos un código que puedes adaptar a cada campo, pero
aquí lo que nos interesa es hacerle a Pedro las cosas más sencillas y que su formulario pueda ingre-
sar datos en una hoja de cálculo. Por lo que vamos a tomar el camino más sencillo.

1. Si te fijas, cada objeto que pusiste en el formulario tiene una propiedad llamada Control-
Source dentro de la categoría Dato. Allí puedes decirle a la aplicación computacional que
el dato ingresado en ese campo (Marca, Modelo, Año y Vendedor) quede registrado en una
celda específica dentro de la hoja de cálculo. Quiere decir:

ControlSource =B3

ControlSource =C3

ControlSource =D3

ControlSource =E3

2. Ahora vamos a configurar la acción del botón Agregar Venta. Primero, la acción de este
botón va a ser, realmente, insertar una nueva fila en la hoja de cálculo en la que se están
creando los registros; para que la tabla de datos se vaya organizando en forma descendente,
del último registro hecho al registro más antiguo. Para esto utilizamos la opción Grabar Ma-
cro. ¿Te acuerdas? (Capítulo Grabadora de MACROS).

Unidad 4 - Creación de una macro y diseño de formularios 17


APLICACIONES COMPUTACIONALES

Con el procedimiento que te explicamos en el capítulo Grabadora de MACROS, haz lo siguiente:

1. Selecciona la pestaña Desarrollador, dentro de la cinta de opciones, y en el conjunto Códi-


go, pincha Grabar macro.
2. Se abrirá una ventana en la que puedes asignarle un nombre a la MACRO. Nombra la MA-
CRO como “InsertarFila”.
3. Al pinchar sobre Aceptar, el grabador comenzará a trabajar. Inserta una fila seleccionando,
con el botón derecho, la fila número 1.

4
5
5 6

Unidad 4 - Creación de una macro y diseño de formularios 18


APLICACIONES COMPUTACIONALES

4. Retorna a la pestaña Desarrollo y busca la opción Detener grabación.


5. Selecciona Macros (Ver Macros) en esa misma pestaña, y verás listada la macro que acabas
de grabar con el nombre que le dimos: “InsertarFila”.
6. Al seleccionar Modificar, podrás ver el código que ejecuta la Subrutina InsertarFila().

8 7

7. Copia la parte del código que comienza con Rows y termina en Above. Estamos copiando el
código que permite insertar una fila (así nos ahorramos aprendernos de memoria las líneas de
programación).
8. En esa misma ventana de edición de código, en la subventana Proyecto, vas a ver una
carpeta que dice Formularios y, en ella, UserForm1 (Puedes renombrar el formulario si así lo
deseas, pero NO utilices espacios); dale doble clic a ese formulario que es sobre el que vienes
trabajando.

Unidad 4 - Creación de una macro y diseño de formularios 19


APLICACIONES COMPUTACIONALES

9. Haz clic con el botón derecho del mouse sobre el botón Agregar Venta, en el menú contex-
tual escoge la opción Ver Código, o con doble clic sobre el botón.

10

11

10. Dentro del código, en la primera línea (CommandButton1_Click), pega el código que co-
piaste en el paso 7.
11. Llegó la hora de correr nuestra MACRO y ver su funcionamiento. Para esto, en la Barra
estándar, puedes hacer clic sobre el botón Ejecutar o pulsar la tecla F5 , esto hará que
aparezca el formulario sobre la hoja de cálculo y puedas ingresar los datos en las distintas cel-
das. Al pulsar Agregar Venta, se generará una nueva fila encima, lo que permite que los datos
se almacenen del más reciente al más antiguo.

Unidad 4 - Creación de una macro y diseño de formularios 20


APLICACIONES COMPUTACIONALES

Bibliografía
Bott, E. (2007). La biblia de Office 2007. Anaya Multimedia.

Caballero, P. (2013). Aplicaciones ofimáticas. McMillan Iberia, S.A. México.

Hart-Davis, G. (2010). Paso a paso: Microsoft® Office Excel® 2007. McGraw-Hill Professional Publishing.

Perry, G. (2008). Excel 2007 Macros Made Easy. McGraw-Hill, Inc.

Vértice (2008). Casos prácticos de Excel aplicados a la gestión empresarial. Editorial Vértice.

Unidad 4 - Creación de una macro y diseño de formularios 21

También podría gustarte