Está en la página 1de 2

GUIA PRÁCTICA DE LABORATORIO SOBRE MACROS----- Docente: Mirna Bermúdez

CREACIÓN DE MACROS PARA EL LIBRO RESTAURANTE “EL BUEN GUSTO”

I. Abra el libro “Restaurante” que contiene 3 hojas: “ORDEN”(Formularios para registrar las órdenes que realizan
los clientes), “FACTURA” (Formulario para imprimir el detalle de la orden y entregarla al
cliente),“PRODUCTOS”(Base de datos o catálogo de los productos ofrecidos en el restaurante) y
“VENDEDORES”(Base de datos de los vendedores del restaurante).
II. Cree 2 hojas, una para guardar las ordenes llamada “BDORDEN” y otra para realizar el resumen de lo vendido,
llamada “Informe de ventas”.
III. Nombra las bases de datos Productos y Vendedores para referenciarlas fácilmente.
IV. En la hoja “ORDEN”, se creará una macro que guarde la orden actual en una base de datos para eso:
1. Crea las formulas necesarias para realizar los cálculos. En el Id.Orden crear la macro para que genere los
números automáticamente. Crear macro INCREMENTA con código. Ej. [D5]= [D5]+1
2. Copie los encabezados y péguelos en la BDORDEN. Servirán para identificar la información guardada.
Diferencia Cant, Precio y Subtotal de cada subtabla para evitar la repetición.
3. Grabe una Macro llamada: ALMACENAR.
4. Copie cada celda de los datos de la hoja ORDEN en la BDORDEN. Nota: Como un pedido pueden ser varios
productos, se deberá copiar las tantas veces el ID.Orden como se necesite para identificar a que pedido
corresponden el detalle de los productos, es decir: - Copiará y pegará el Id.Orden, una sóla vez el Nombre,
Fecha, Vendedor, Subtotal, Descuento, IVA, Total C$, Tipo de cambio y Total $. El Id.Orden arrastrarlo en 7
celdas inferiores más, que son las filas de la subtablas. Luego, copiar cada conjunto de registros de cada
producto y pegarlo donde corresponde en BDORDEN. Quedarán así, ocupadas 8 filas. Recuerde como valores
y números.

5. Click en la esquina de la hoja, luego Datos, Ordenar por Id.Orden y con encabezados.
6. Sombree esas 8 filas desde el borde izquierdo, click derecho Insertar, para que inserte 8 filas vacías al inicio y
así permitir pegar las siguientes, cada vez que la macro se ejecute.
7. Quitar el formato de esas 8 filas. Posesionarse en la primera celda.
8. Guardar.
9. Ir a la hoja ORDEN. ( Esta vez no vamos a limpiar en esta macro sino en otro botón de LIMPIAR.
10. Detener la Macro.
11. Insertamos un botón nombrado como: GUARDAR y le asignamos la macro creada.
Nota: No limpiamos en el Formulario ORDEN porque si lo hacemos, no nos saldría la información en la
FACTURA, podríamos crear un botón llamado limpiar para que limpie y podamos ingresar otro pedido.

V. En la hoja “FACTURA”:
1. Igualar los campos: No., Fecha, Nombre, Vendedor, Subtotal, Descuento, IVA, Total C$, Tipo de cambio y Total
$ a la de ORDEN.
GUIA PRÁCTICA DE LABORATORIO SOBRE MACROS----- Docente: Mirna Bermúdez

2. Se creará una macro para la cuadrícula del detalle debido a que los detalles de cada producto no están llenos
completamente y copiar todas las líneas crearía la factura larga. Grabar macro. Nombrar la macro como
DETALLE. Copia cada detalle de cada producto pegándolos en la parte derecha de FACTURA, uno bajo del
otro (se ocuparán 40 filas) seleccionarlos, quitarles formato, Ordenar (esto hará que se junten los productos).
Copiarlos y pegarlos en la cuadrícula de la factura, con el formato de la cuadrícula. Borrar la lista que se tenía
a la derecha, poner el cursor en la celda del No. Detener la macro.

3. Agregar el botón y etiquetarlo como VER.


4. Asignarle la macro creada.
5. Se creará una macro para limpiar esta cuadrícula ya que, si creamos un nuevo pedido este detalle permanece.
Se llamará LIMPIAR. Suprimir los espacios de la cuadrícula y ubicar el cursos en el No. Detener la macro.
6. Agregar el botón LIMPIAR.
7. Se creará una macro para Imprimir la factura. Pero con código.
8. Insertar un botón. Click derecho, Asignar macro, Nuevo, para entrar a Visual y escribir el código:

Dim x As Integer
x = MsgBox("Desea imprimir", vbYesNoCancel, "ADVERTENCIA")
If x = 6 Then
Sheets("hoja1").PrintOut copies:=1, collate:=True
End If

Nota: Cambiar el nombre de la hoja1 que muestra el código, por el nombre de la hoja del libro a imprimir.
RECUERDE: Establecer el Área de impresión en la hoja para que imprima sólo la factura.

También podría gustarte