Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Objetivos:
Se van a confeccionar y controlar en diferentes hojas de un Libro de Excel, los siguientes
cuadros:
Factura
Lista de Precios.
Lista de Clientes
Una empresa importadora de artefactos eléctricos desea calcular y emitir sus ventas por
Factura. Para esto dispone de una lista de precios y una relación de varios clientes con
quienes realiza regularmente sus ventas de artefactos al por mayor.
Para iniciar el ejercicio abra el archivo Facturas.xlsx. Este archivo como verá contiene tres
hojas de cálculo: Factura, Precios y Clientes.
El modelo de la Factura que se muestra aquí deberá permitir hacer las siguientes acciones
en la pantalla:
Antes de confeccionar la Factura, primero empezaremos por hacer la lista de precios y la lista
de los clientes.
3. En otra hoja de cálculo del mismo libro actual, la cual tendrá como nombre Clientes,
escriba la siguiente relación tal y como se muestra a continuación:
A3:C10 CLIENTES
5. En otra hoja a la cual se le llamará Factura, está el modelo de la factura con los
títulos, colores de relleno, bordes y anchos de columna tal y como se muestra en la
figura:
Luego en esta hoja se deberá hacer lo siguiente:
6. Seleccionar las celdas C7:D7 y unirlas con el botón de Combinar y centrar, luego en
esta celda escribir la fórmula:
=SI(ESBLANCO(C8),"",HOY())
Luego darle el formato personalizado: d" de "mmmm" de "yyyy.
7. Seleccionar las celdas C8:D8 y unirlas con el botón de Combinar y centrar. Luego
validar esta celda con el menú Datos/Validaciónde datos para que permita mostrar
una lista cuyo origen sea el rango: =CLIENTE.
8. Unir C9:D9 con Combinar y centrar y luego allí escribir la fórmula:
=SI(ESBLANCO(C8),"",BUSCARV(C8,Clientes,3,0))
9. En la celda F9 escribir la fórmula:
=SI(ESBLANCO(C8),"", BUSCARV (C8,Clientes,2,0))
10. Unir E6:G7 con Combinar y centrar y darle el nombre de rango NFACTURA, y
luego crear para esta celda el formato personalizado siguiente:"N° 001-"0000
11. Seleccionar el rango B12:B21 y darle el formato personalizado: 00
12. En la celda C12 escribir la siguiente formula y copiarla hacia abajo:
=SI(ESBLANCO(D12),"",DESREF(Precios!A$3,COINCIDIR(D12,
ARTICULO,0),0))
13. Seleccionar el rango D12:E21 y con el menú Datos/Validación permitir ingresar
una lista cuyo origen sea el rango llamado =ARTICULO.
14. En la celda F12 escribir la formula:
=SI(ESBLANCO(D12),"", BUSCARV (C12,PRECIOS,3,0))
Luego copiar esta fórmula hacia abajo con el cuadro de relleno hasta la fila 21.
15. En la celda G12 escribir la fórmula:
=SI(ESBLANCO(D12),"",B12*F12)
Luego copiar esta fórmula hacia abajo con el cuadro de relleno hasta la fila 21.
16. El rango F12:G21 deberá tener el formato de estilo millares, y las celdas F12 y G12
el formato de estilo moneda.
17. En la celda G23 escribir la fórmula:
=SI(CONTAR(G12:G21)=0,"",SUMA(G12:G21))
=SI(ESNUMERO(G23),G23*F24,"")
=SI(ESNUMERO(G23),G23+G24,"")
Habiendo calculado la factura, ahora vamos a ver como modificar los precios de los
artefactos eléctricos en la hoja Precios. Para esto vamos a confeccionar una especie de
ventana de dialogo con la finalidad de que en ella se pueda elegir el porcentaje de
aumento o disminución de los precios, y con un botón Aceptar, hacer que una macro
modifique los precios.
2. En la parte superior derecha del rectángulo diseñar un elemento de formulario del tipo
Control de número, para que vinculada a la celda E4, se encargue de aumentar o disminuir
el valor de esta celda, desde un mínimo de 0 hasta un máximo de 100, y con incrementos
de 1. Luego utilice este botón de Control de número para escribir en la celda E4 el numero
12.
3. En la celda E5 escribir la formula: =E4/100, luego dele a esta celda el formato de
porcentaje.
4. A la izquierda del botón de Control de número, dibuje un rectángulo, y estando aun
seleccionado el rectángulo, haga clic en la barra de formulas y escriba allí el signo igual
(=), luego haga un clic en la celda E5 (aparecerá la formula =$E$5) y entonces presionar
Enter. Esto hará que dentro del rectángulo aparezca el mismo porcentaje que se ha
calculado en la celda E5.
5. Dibuje 2 botones de opción como se muestra en la figura anterior, y escriba en ellos las
palabras Aumentar y Disminuir respectivamente. Luego haga un clic derecho en uno de
los botones y elija la opción Formato de control. Con la ventana de dialogo que aparece,
vincular el botón con la celfda E7.
6. En la celda E6 escribir la formula: =ELEGIR(E7,1+E5,1-E5)
7. Por ultimo dibuje un botón de macro Aceptar, pero no le asigne aún ninguna macro.
Para crear la macro “ModificarPrecios”:
12. Vamos a agregar 2 lineas más al principio de esta macro, para que nos muestre una
ventana pidiéndonos una confirmación de la orden cada vez que queramos modificar los
precios. Escriba entonces estas dos lineas que aparecen en negrita al principio de la macro:
Sub ModificarPrecios()
‘
Rpta=Msgbox(“¿Seguro desea modificar los precios?”,vbYesNo)
If Rpta=vbNo then Exit Sub
Range("E6").Select
Selection.Copy
Application.Goto Reference:="PRECIO"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("C2").Select
End Sub
Si elige “Si” se modificarán los precios, y si elige “No” la macro terminará sin hacer nada.
1. Regrese a la ventana de Excel y en la hoja Factura dibuje al lado derecho dos botones para
ejecutar las macros tal como se muestra a continuación:
Para Preparar el Registro las Ventas:
Cada vez que se realiza una venta y se calcula una Factura, los datos de esta Factura
deberán copiarse en un Registro de Ventas. Los datos que allí se deben copiar son los
siguientes: el Nº de la Factura, la Fecha, El nombre del Cliente, el monto del IGV y el
monto Total de la Factura.
2. Inserte una nueva hoja en el libro y póngale como nombre Registro, tal como se ve en la
figura anterior.
3. En esta hoja llamada Registro, escribir los títulos tal y como se muestra en la figura
siguiente. Luego al rango A4:A5 dele el nombre de rango NFAC.
4. A continuación vamos a convertir el registro de ventas en una tabla. Para esto, seleccione
el rango A3:E5 y presione Ctrl+T, marque la casilla que indica que la lista tiene
encabezados, y luego Aceptar.
10. Regresar a Excel y en la hoja Factura asignar esta macro al botón “Registrar Factura”.
11. A continuación pruebe ejecutar ambas macros. Primero ejecute la macro NuevaFactura y
cree una factura. Luego ejecute la macro RegistrarFactura.
Si todo sale bien, en el Registro de ventas, las facturas deberán aparecer como en la
siguiente imagen:
Para evitar registrar una factura dos veces:
Si habiendo registrado una factura, se vuelve a ejecutar la macro RegistrarFactura estando
en la pantalla la misma factura, esta sería registrada dos veces. Para evitar esto, hay que
realizar la siguiente modificación en la macro RegistrarFactura en el Editor de Visual
Basic.
12. Ingrese al Editor de Visual Basic con las teclas Alt+F11.
13. Ubíque la macro RegistrarFactura y agregue las siguientes 7 líneas que a continuación se
muestran en negrita:
Sub RegistrarFactura()
NFACTURA = Range("NFACTURA")
Fecha = Range("FECHA")
Cliente = Range("C8")
IGV = Range("IGV")
Total = Range("TOTAL")
Sheets("Registro").Select
Range("A3").Select
While ActiveCell <> Empty
If ActiveCell = NFACTURA Then
Rpta = MsgBox("Esta Factura ya ha sido registrada antes, " _
& "¿Desea reemplazar este registro?", vbYesNo + vbCritical)
If Rpta = vbNo Then Sheets("Factura").Select: Exit Sub
GoTo Sigue
End If
ActiveCell.Offset(1, 0).Select
Wend
Sigue:
ActiveCell = NFACTURA
ActiveCell.NumberFormat = """0001""-0000"
ActiveCell.Offset(0, 1) = Fecha
ActiveCell.Offset(0, 2) = Cliente
ActiveCell.Offset(0, 3) = Format(IGV, "#,##0.00")
ActiveCell.Offset(0, 4) = Format(Total, "#,##0.00")
Sheets("Factura").Select
MsgBox ("La Factura ha sido registrada exitosamente")
End Sub
Al ejecutarse la macro Registrar, si la factura se intenta registrar por segunda vea aparecerá la
siguiente ventana de dialogo: