Está en la página 1de 13

Práctica Nº 3

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:

o Poder elegir el nombre de una lista de clientes para ponerlo en la factura.


o Al elegir un cliente, su dirección y RUC deberán aparecer automáticamente en la
factura
o Los precios de los artículos aparecerán en la factura al elegir los artículos.
o Finalmente la factura deberá mostrar el total de la venta no solo en números, sino
también este mismo total expresado en letras. Pero este total deberá aparecer
automáticamente en la factura apenas este sea calculado:

Antes de confeccionar la Factura, primero empezaremos por hacer la lista de precios y la lista
de los clientes.

1ra Parte: Creación de la Lista de Precios

1. En una hoja de cálculo de Excel, a la cual se le pondrá el nombre Precios, escriba la


siguiente lista de precios, tal y como se muestra en la figura anterior.
2. En esta hoja, definir los siguientes nombres de rango:
B4:B14 ARTICULO
A3:C14 PRECIOS
2da Parte: Creación de la Lista de 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:

4. En esta hoja, definir los siguientes nombres de rango:


A4:A10 CLIENTE

A3:C10 CLIENTES

3ra Parte: Creación de la Factura de Venta

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))

Y darle el formato estilo moneda.


18. En la celda F24 escribir la 18% y luego darle a esta celda el formato personalizado
“IGV” 0%
19. En la celda G24 escribir la fórmula:

=SI(ESNUMERO(G23),G23*F24,"")

Y darle el formato estilo millares.


20. En la celda G25 escribir la fórmula:

=SI(ESNUMERO(G23),G23+G24,"")

Y darle el formato estilo moneda.


21. Luego a esta celda G25 darle el nombre de rango TOTAL
22. Finalmente guarde este archivo con el nombre Factura.

4ta Parte: Traer la hoja que convierte números en letras

23. Teniendo en la pantalla el archivo


Factura.xlsx, abrir el archivo Letras.xlsx
24. En el archivo Letras.xlsx hacer un clic derecho
en la etiqueta de hoja llamada Convertidor, y
en el menú contextual elegir la opción Mover
o copiar…
25. En la ventana de dialogo que aparece, en
la opción “Al libro:” elegir el nombre de
archivo “Factura.xlsx” y en la opción
“Antes de la hoja:” seleccionar “(mover
al final)” tal como se muestra en la figura
adjunta, y luego hacer clic en Aceptar.

Esto hará que se copie la hoja

Convertidor dentro del libro Factura.xlsx


26. En esta hoja Convertidor, verificar que la
celda B6 tenga el nombre de rango
LETRAS.
27. En la celda B2 de la hoja Convertidor, escribir la formula: =TOTAL
28. En la hoja Factura, seleccionar las celdas C23:E25 y unirlas con el botón de
Combinar y centrar. Luego alinear esta celda con el menú contextual Formato de
Celdas y en la ficha alineación elegir alinear horizontalmente a la Izquierda, y
verticalmente a la parte Superior.
29. Escribir en la celda C23 la fórmula: =LETRAS.
Esto hará que el valor numérico del total de la factura de la celda G25 aparezca
convertido en letras en la celda C23.
30. Vuelva a guardar el archivo Factura.xlsx presionando las teclas Ctrl+G.
5ta Parte: Para Modificar la Lista de Precios

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.

Para dibujar la ventana de diálogo:


1. Con la ficha Insertar/Formas/Rectángulo dibujar un rectángulo sobre las celdas F4:G14.
Luego dele formato color claro.

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”:

8. En la ficha Desarrollador elegir Grabar macro, y darle como nombre


“ModificarPrecios”, luego Aceptar.

9. Entonces grabar las siguientes acciones en la macro:


 Seleccionar la celda E6
 Presionar Ctrl+C
 Seleccionar el rango llamado PRECIO
 En el comando Pegar/Pegado especial, elegir Valores y Multiplicar, y luego
Aceptar
 Presionar la tecla ESC
 Clic en C2 o en cualquier celda vacia.
Finalmente apagar la grabadora de macros con el botón Detener grabación.

10. Asignar esta macro al botón Aceptar de nuestra ventana de diálogo.

Para modificar la macro “ModificarPrecios”:

11. En la ficha Desarrollador elegir el comando Macros, seleccionar la macro


ModificarPrecios y hacer clic en el botón Modificar. Esto hará que ingresemos al Editor
de Visual Basic, y alli veremos la siguiente macro:

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

Cuando ejecute la macro ModificarPrecios aparecerá entonces esta ventana de diálogo:

Si elige “Si” se modificarán los precios, y si elige “No” la macro terminará sin hacer nada.

6ta Parte: Para Crear Nuevas Facturas y Registrar las Ventas

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.

Para crear la macro “NuevaFactura”:


5. Regresar a la hoja Factura. Luego, en la ficha Desarrollador elegir Grabar macro, y
darle como nombre “NuevaFactura”, luego Aceptar.
6. Entonces grabar las siguientes acciones en la macro:
a. Seleccionar el rango B12:B21, y presionar la tecla [Supr]
b. Seleccionar el rango D12:E21, y presionar la tecla [Supr]
c. Seleccionar el rango NFACTURA y escribir la formula:
=MAX(NFAC)+1 y presionar Enter
d. Seleccionar nuevamente el rango NFACTURA y copiarlo
e. En el comando Pegar/Pegado especial, elegir Valores, y luego Aceptar
f. Presionar la tecla ESC
g. Seleccionar la celda C8, y presionar la tecla [Supr]
Finalmente apagar la grabadora de macros con el botón Detener grabación.

7. Asignar esta macro al botón “Nueva Factura”.


Para crear la macro que Registra la Factura:
Para copiar los datos de cada Factura en el Registro de Ventas, se va a recurrir a una
Macro con el fin de automatizar esta tarea que es repetitiva para cada vez que se realiza
una venta.
Pero en esta ocasión la macro no la vamos a crear con la grabadora de macros, sino, la
vamos a escribir directamente en el Editor de Visual Basic.

8. Ingrese al Editor de Visual Basic con las teclas Alt+F11.


9. Ubíquese al final de la macro NuevaFactura y debajo de la sentencia End Sub escriba lo
siguiente:

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:

Si la respuesta es Si, se volvera a registrar reemplazando la linea del registro anterior de la


factura. Si la respuiesta es No, la macro no registrará nada y se regresará a la hoja Factura.

También podría gustarte