Vous êtes sur la page 1sur 25

Clase 4

Curso de Microsoft Office Excel – Nivel 3 31-03-2019


www.envicompany.com.pe

MICROSOFT OFFICE EXCEL 2016


1. GRÁFICO INTERACTIVO CON BOTONES DE OPCIÓN

Para desarrollar esté ejemplo vamos a utilizar los Botones de Opción de Programdor/Desarrollador

• En la hoja tabla elaborar tablas dinámicas con filtro de Servicios, Fila Cursos, Columnas Meses

• Seleccionar el rango A4:M4, copiar y pegar en la celda A5 de la hoja Grafica,

• Selección el rango A6:N9, en la barra de fórmulas ingrese la siguiente fórmula y presione CONTROL
+ ENTER
=SI($I$2=1,Tabla!A5,SI($I$2=2,Tabla!A16,Tabla!A26))

• En la celda la fila 2, insertar Botón de Opción (Control de Número) y vincular con la celda I2

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 1


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

• Combine el rango A4:N4 e ingrese la siguiente fórmula


="Resumen de "&ELEGIR(Grafica!I2,Tabla!B1,Tabla!B12,Tabla!B22)

• Seleccione el rango A2:N2, en la Ficha Insertar/Gráficos/Columnas o de barras, insertar la barra


Columna Agrupada. Dar estilos como se visualiza a continuación.

• Seleccione el Título de la Gráfica, diríjase a la barra de fórmulas en ingrese la siguiente fórmula


=Grafica!$A$4 o referencia con el título de la tabla

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 2


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

Cada vez que elijamos el tipo de gráfico también cambiará en la tabla.


2. MACROS EN EXCEL

Una macro consiste en una serie de comandos y funciones que se almacenan en un MODULO de
MICROSOFT VISUAL BASIC y que puede ejecutarse siempre que sea necesario realizar alguna tarea.
Ej.: Crear una macro que muestre los registros de cualquier proveedor con monto menor a S/. 20,000.00

2.1. CREACION DE UNA MACRO USANDO LA GRABADORA (alma):

a) Activar la ficha DESARROLLADOR, si no hubiera, ingresando a menú ARCHIVO, OPCIONES,


PERSONALIZAR CINTA DE OPCIONES, DESARROLLADOR (VERSIÓN 2016 COMO
PROGRAMADOR) …

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 3


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

b) Realizar un ensayo del procedimiento a grabar.


c) Ingresar a la ficha DESARROLLADOR, grupo CODIGO, GRABAR MACRO.
d) Se muestra una ventana en donde se ingresa el nombre de la macro…

e) Al dar ACEPTAR se debe realizar únicamente el procedimiento a grabar.


f) Al terminar la grabación se debe detenerla ingresando a la ficha DESARROLLADOR, grupo
CODIGO, DETENER GRABACION.

2.2. DIBUJANDO UN OBJETO DE FORMA (cuerpo):

1) Ficha INSERTAR, grupo FORMAS, seleccionar un objeto que tenga área (BISEL de FORMAS
BASICAS)
2) Dibujar el objeto en la zona de trabajo e ingresar nombre al objeto.

2.3. ASIGNAR UNA MACRO A UN OBJETO (juntar cuerpo y alma):

a) Señalar el objeto y realizar un clic secundario.


b) Seleccionar la opción ASIGNAR MACRO.
c) Se muestra una ventana en donde se selecciona la macro y…

d) ACEPTAR.
e) Para ejecutar la macro se debe hacer clic fuera del objeto, para luego hacer clic sobre el objeto.

2.4. VER LA MACRO:

Se debe ingresar al editor de Visual Basic siguiendo una de las siguientes formas:
• Forma1: Ficha DESARROLLADOR, grupo CODIGO, MACROS, seleccionar la macro, MODIFICAR.
• Forma2: Presionar las teclas ALT + F11.

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 4


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

2.5. GUARDAR LIBRO CON MACROS:

Un libro con macros es un archivo de tipo diferente ya que posee extensión .XLSM, para ello:
a) Menu ARCHIVO.
b) GUARDAR COMO.
c) En la ventana mostrada seleccionar el lugar a guardar, ingresar el nombre y en tipo seleccione
la opción: LIBRO DE EXCEL HABILITADO PARA MACROS…

2.6. ABRIR LIBRO CON MACROS:

Dependiendo del nivel de seguridad del Excel en su computador se mostrará un mensaje sobre la barra de
fórmulas al momento de abrir el libro con macros…

Se hace clic en HABILITAR CONTENIDO.


3. CREACION DE UNA MACRO USANDO EL EDITOR DE VISUALBASIC

1) Abrir un nuevo libro.


2) Ingresar al editor de Visual Basic siguiendo una de las siguientes formas:
o Ficha DESARROLLADOR, grupo CODIGO, VISUALBASIC.
o Presionar teclas ALT + F11.
3) Si en caso no se visualiza el panel izquierdo, se ingresa al menú VER, EXPLORADOR DE
PROYECTOS.
4) Crear la carpeta MODULOS con su respectivo MODULO1, ingresando al menú INSERTAR,
MODULO.
5) Se procede a ingresar las instrucciones en Visual Basic dentro de la ventana mostrada…

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 5


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

Nota: del punto a la izquierda es el elemento y a la derecha es la propiedad a aplicarse.

3.1. INSTRUCCIONES EN VISUAL BASIC:

Una instrucción es una unidad sintácticamente completa que expresa un tipo de acción, declaración o
definición. Entre las más importantes tenemos:

3.1.1. SUB:

Permite declarar un procedimiento al cual se le asignara un nombre seguido de paréntesis. Todas las
instrucciones que aparecen entre SUB y ENDSUB se ejecutaran.

3.1.2. REM o ‘:

Se utiliza para ingresar comentarios dentro del procedimiento los cuales se mostrarán de color verde.

3.1.3. SHEETS(hoja):

Hace referencia a una hoja de cálculo la cual debe estar escrita entre doble comilla.

3.1.4. SELECT:

Activa o selecciona las hojas y los objetos de las hojas.

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 6


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

3.1.5. RANGE(rango):

Hace referencia a una celda o rango de celdas, estas deben estar escritas entre doble comilla.

3.1.6. ACTIVECELL:

Hace referencia a la primera celda de un rango previamente seleccionado, también se utiliza para ingresar
datos.

3.1.7. OFFSET(fila,columna):

Desplaza el puntero o una selección la cantidad de filas y columnas especificada.

3.1.8. CLEARCONTENTS:

Borra el contenido de una celda o rango de celdas.

3.1.9. MSGBOX:

Crea una interfaz entre el usuario y el programa y sirve para mostrar, recibir o devolver información del
usuario.

3.1.10. GOTO etiqueta:

Realiza saltos dentro del procedimiento hacia la etiqueta.

3.1.11. IF = SI

3.1.12. VLOOKUP = BUSCARV

3.1.13. CHOOSE = ELEGIR

3.1.14. ISBLANK = ESBLANCO.

3.2. REPORTE EN PDF Y LOGIN

Si deseamos exportar alguna información en PDF para luego imprimirla o almacenarlo, esto se debe codificar.
Así mismo cuando consideramos que nuestra información debe permanecer segura, debemos colocar usuario
y contraseña.

3.2.1. PARA EXPORTAR EN PDF

Realizamos la acción de como guardar en PDF encendido la macros con el nombre de macros: Guardar_PDF
y nombre del archivo: Factura_Envi_PDF. Luego nos dirigimos al Visual Basic (Alt + F11) para ver los códigos
Sub Guardar_PDF()
'
' Guardar_PDF Macro
'
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"D:\ENVI COMPANY_SRL\ENVI 2019\Cursos\Clases\Excel\Nivel III\Excel_Nivel III_Clase
04\Modelo\Reportes\Factura_Envi_PDF.pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
End Sub

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 7


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

El archivo se habrá guardado en PDF, podemos adicionar la macros a un botón y comprobarlo. Siempre va
guardar con el mismo nombre. Sin embargo, cuando se crea archivos consecutivos, como facturas, recibos u
otros están pueden guardarse en forma ascendente o considerando el nombre de la entidad.
Así mismo, esta macros siempre nos guardar la hoja activa sin limitaciones. Pero por ejemplo si queremos
solo un rango, donde se concentra la información necesaria, se debe modificar en el VB, de la forma
siguiente:
Sub Guardar_PDF1()
'
' Guardar_PDF Macro
'

'
Ruta_PDF = "D:\ENVI COMPANY_SRL\ENVI 2019\Cursos\Clases\Excel\Nivel III\Excel_Nivel III_Clase 04\Modelo\Reportes\"
Nombre_PDF = "Factura_N°_001-000" & Range("NFACTURA") & "_" & Range("NOMBRE")
Worksheets("Factura").Range("A1:H26").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Ruta_PDF & Nombre_PDF, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
End Sub
La información se irá guardando de forma consecutiva.

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 8


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

3.2.2. ESTABLECER LOGIN

• Insertar Formulario de Clientes:

• Agregue cuadro de texto, etiqueta y botón de comando

• Nos dirigimos al libro de trabajo, que se debe considerar al abrir el archivo

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 9


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

• Colocamos el nombre de login al formulario ingresado y lo mostramos el libro de trabajo


(ThisWorbook). Ingresamos los códigos para ocultar el libro Excel, colocar el usuario y contraseña.

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 10


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

• Hacer clic en Ingresar y colocar los códigos en función a los nombres.

Private Sub CommandButton1_Click()

If User.Text = "Envi" And Password.Text = "Company" Then


MsgBox "Acceso Correcto"
Application.Visible = True
End

Else
MsgBox "Datos Incorrectos"
End If

End Sub
• Finalmente obtendremos lo siguiente:

3.3. FACTURA AUTOMÁTICA CON BÚSQUEDAS INTELIGENTES

Cuando vamos de compras y deseamos finalmente hacer el pago de producto, observamos que algunas
entidades manejan un tipo de sistema programado que te permiten ingresar tus datos y por consiguiente
generar la boleta. Trabajaremos en el siguiente ejemplo la elaboración de lo mencionado anteriormente:
• Paso 1: A la hoja precios, seleccionamos el rango A3:C15 le vamos a convertir en Tabla,
presionando CTRL+T y luego le damos el nombre de tabla de “Precios”, lo mismo en “Clientes”.

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 11


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

• Paso 2: Creamos una nueva hoja que lo llamaremos factura y elaboramos como se muestra en la
siguiente imagen:

• Paso 3: Seleccionamos en esta hoja el rango “C13:H14” y lo convertimos en tabla (CTRL + T) y lo


denominaremos “Total”.

• Paso 3: Ingresamos las siguientes fórmulas:


G16 → SUMA(G14)
G17 → =G16*F17
G18 → =SUMA(G16:G17)
• Paso 4: Copiamos, pegamos las lupas como se muestran a continuación:

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 12


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

• Paso 5: Mostrar Lista: Presionamos ALT + F11; insertamos un Formulario (Lo llamaremos
“Clientes”), ingresamos un cuadro de texto (lo llamamos “Texto”) y otro cuadro de lista (lo llamamos
“Lista”)

• Paso 6: Doble clic en el formulario (en Clientes) → e ingrese los siguientes códigos, para mostrar el
formulario hacemos clic en Ejecutar Sub/UseForm (F5)

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 13


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

• Paso 7: Regresamos al formulario (“Clientes”) y hacemos doble clic en el cuadro de texto (Llamado
“Texto”) e ingresamos lo siguiente:

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 14


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

Private Sub Texto_Change()


NumeroDatos = Hoja2.Range("B" & Rows.Count).End(xlUp).Row
''MsgBox NumeroDatos
Hoja2.AutoFilterMode = False
Me.Lista = Clear
Me.Lista.RowSource = Clear
y=0

For fila = 3 To NumeroDatos


descrip = Hoja2.Cells(fila, 3).Value

If UCase(descrip) Like "*" & UCase(Me.Texto.Value) & "*" Then


Me.Lista.AddItem
Me.Lista.List(y, 0) = Hoja2.Cells(fila, 2).Value
Me.Lista.List(y, 1) = Hoja2.Cells(fila, 3).Value
Me.Lista.List(y, 2) = Hoja2.Cells(fila, 4).Value
Me.Lista.List(y, 3) = Hoja2.Cells(fila, 5).Value
Me.Lista.List(y, 4) = Hoja2.Cells(fila, 6).Value
Me.Lista.List(y, 5) = Hoja2.Cells(fila, 7).Value
y=y+1
End If
Next

End Sub
Filtra los datos de acuerdo a que ingreses el nombre

• Paso 8: Ingresar cliente: regresamos al formulario (“Clientes”) y hacemos doble clic en el cuadro de
lista (Llamado “Lista”) e ingresamos lo siguiente:

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 15


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

Private Sub Lista_DblClick(ByVal Cancel As MSForms.ReturnBoolean)


On Error GoTo ERR:
L = Lista.List(Lista.ListIndex, 0)
Sheets("Clientes").Select
While ActiveCell.Value <> "" And ActiveCell.Value <> L And ActiveCell.Value <> Val(L)
ActiveCell.Offset(1, 0).Select
Wend
mensaje = Lista.List(Lista.ListIndex, 0)
Sheets("Factura").Select
Range("G7").Select
''MsgBox mensaje
ActiveCell.Value = mensaje
Unload Me
ERR:

End Sub
• Paso 9: Creamos un módulo e ingresamos los siguientes códigos y luego adicionamos esta macro a
la primera lupa en la hoja Factura:

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 16


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

• Paso 10: Ingrese las siguientes fórmulas en las siguientes celdas y rangos:
D10:E10 → =SI.ERROR(BUSCARV(G7,Clientes,2,FALSO),"")
D11:E11 → =SI.ERROR(BUSCARV(G7,Clientes,4,FALSO),"")
G10 → =SI.ERROR(SI(G11="","",HOY()),"")
G11 → =SI.ERROR(BUSCARV(G7,Clientes,3,FALSO),"")

Debe mostrar los datos que se muestran en la hoja Clientes.


• Paso 11: Crear formulario de servicios: así como creamos formulario de clientes (Paso 5),
insertamos un Formulario (Lo llamaremos “Servicios”), ingresamos un cuadro de texto (lo llamamos
“Texto”) y otro cuadro de lista (lo llamamos “Lista”)

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 17


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

• Paso 12: Doble clic en el formulario (en Servicios) → e ingrese los siguientes códigos, para mostrar
el formulario hacemos clic en Ejecutar Sub/UseForm (F5):

DEBERÁ MOSTRAR
LA LISTA DE LOS
SERVICIOS A
OFRECER

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 18


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

• Paso 13: Regresamos al formulario (“Servicios”) y hacemos doble clic en el cuadro de texto (Llamado
“Texto”) e ingresamos lo siguiente:

Private Sub Texto_Change()


NumeroDatos = Hoja1.Range("B" & Rows.Count).End(xlUp).Row
''MsgBox NumeroDatos
Hoja1.AutoFilterMode = False
Me.Lista = Clear
Me.Lista.RowSource = Clear
y=0

For fila = 5 To NumeroDatos


descrip = Hoja1.Cells(fila, 3).Value

If UCase(descrip) Like "*" & UCase(Me.Texto.Value) & "*" Then


Me.Lista.AddItem
Me.Lista.List(y, 0) = Hoja1.Cells(fila, 2).Value
Me.Lista.List(y, 1) = Hoja1.Cells(fila, 3).Value
Me.Lista.List(y, 2) = Hoja1.Cells(fila, 4).Value
Me.Lista.List(y, 3) = Hoja1.Cells(fila, 5).Value

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 19


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

Me.Lista.List(y, 4) = Hoja1.Cells(fila, 6).Value


Me.Lista.List(y, 5) = Hoja1.Cells(fila, 7).Value
Me.Lista.List(y, 6) = Hoja1.Cells(fila, 8).Value
Me.Lista.List(y, 7) = Hoja1.Cells(fila, 9).Value
Me.Lista.List(y, 8) = Hoja1.Cells(fila, 10).Value
Me.Lista.List(y, 9) = Hoja1.Cells(fila, 11).Value
y=y+1
End If

Next

End Sub
Luego de culminado se podrá filtrar el Servicio a ofrecer

• Paso 14: Ingresar servicio a celda: regresamos al formulario (“Servicios”) y hacemos doble clic en
el cuadro de lista (Llamado “Lista”) e ingresamos lo siguiente:

Private Sub Lista_DblClick(ByVal Cancel As MSForms.ReturnBoolean)


On Error GoTo ERR:
L = Lista.List(Lista.ListIndex, 0)
Sheets("Servicios").Select

While ActiveCell.Value <> "" And ActiveCell.Value <> L And ActiveCell.Value <> Val(L)
ActiveCell.Offset(1, 0).Select
Wend
mensaje = Lista.List(Lista.ListIndex, 0)
Sheets("Factura").Select

Rows("14:14").Select

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 20


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove


Rows("14:14").Interior.Color = RGB(255, 255, 255)
Rows("14:14").Font.ColorIndex = RGB(0, 0, 0)

Range("C14").Select
ActiveCell.Value = mensaje
Unload Me
ERR:

End Sub

• Paso 15: En el módulo creado ingresamos los siguientes códigos y luego adicionamos esta macro a
la segunda lupa en la hoja Factura:

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 21


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

• Paso 16: Ingresamos las siguientes fórmulas en los rangos y celdas correspondientes:
D14 → =BUSCARV([@Código],Servicios,2,FALSO)
F14 → =BUSCARV([@Código],Servicios,3,FALSO)
G14 → =[@Cantidad]*[@Precio]

• Pasos siguientes: Exporte a PDF y borre todos los datos generando nueva factura, para lo cual
deberá asignar dos iconos y adicionarlos.

3.4. ACTUALIZAR DE TABLA DINÁMICA DE FORMA AUTOMÁTICA

• Paso1: En el siguiente ejemplo observamos que al abrir los datos se muestran de la siguiente forma:

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 22


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

Y elaboramos tablas dinámicas

Sin embargo, cuando realizamos cambios en la base de Datos o ingresamos nuevos datos, está tabla
dinámica no tendrá cambios, al no ser que uno lo actualice de forma manual. Como claro ejemplo tenemos
visualizamos a continuación:
• Paso 2: Realizamos cambios en la base de Datos en las columnas F, G y H, tanto en el nombre
como los valores

Pero la tabla dinámica no surge ningún cambio y se mantiene como al inicio. Por lo que siempre se debe
actualizar de forma manual, al no ser que se establezca una macros para evitar realizar esto de forma
repetitiva.

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 23


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

• Paso 3: Convertir en Tabla la base de Datos (CTRL + T) y darle el nombre de Datos

• Paso 4: Generar tablas dinámicas en función a fechas y la damos el nombre de Reporte

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 24


Clase 4
Curso de Microsoft Office Excel – Nivel 3 31-03-2019
www.envicompany.com.pe

• Paso 5: Presionar ALT + F11, que nos dirige al visual Basic, hacemos clic en la hoja en que estamos
trabajando las tablas dinámicas e ingresamos lo siguientes códigos:

Los datos se actualizan de forma automática.

Docente: Simeón Johel Valle Pajuelo – jvalle@envicompany.com.pe| P á g i n a 25

Vous aimerez peut-être aussi