Curso de Microsoft Excel - Chiu y Hernández Consultores

Anuncio
Microsoft
Excel y
VBA
Lic. Genaro Chiu Lam
[email protected]
Primera
Parte
Excel básico
(8hrs.)
“Un viaje de mil millas comienza con un primer paso”
Curso de Microsoft Excel y VBA
www.chconsultores.net
2
XLVBA: Primera parte
Agenda:
1. Introducción al interfaz
de Excel.
2. Tipos de datos.
3. Manipulación de libros,
hojas y celdas.
4. Operaciones y reglas de
precedencia.
5. Funciones básicas.
6. Herramientas básicas.
7. Elaboración de gráficos.
8. Caso práctico.
Curso de Microsoft Excel y VBA
www.chconsultores.net
3
XLVBA: Introducción al interfaz
Fila
Menú
Nombre
Barra de fórmulas
Barra estándar
Celda activa (Celdas)
Barra de formato
Hoja activa (Hojas)
Columna
Desplazador del libro
Desplazador horizontal
Barra de estado
Curso de Microsoft Excel y VBA
www.chconsultores.net
Ayuda
Desplazador vertical
4
XLVBA: Tipos de datos
>> Tools - Format Cells
•
•
•
•
•
•
•
•
•
Número
Moneda
Porcentaje
Contabilidad
Fracción
Científica
Fecha y hora
Texto
Bolean
Curso de Microsoft Excel y VBA
www.chconsultores.net
5
XLVBA: Manipulación
Operación (Operation)
Seleccionar
(Select)
Teclas (Key)
Una celda
(Single Cell)
<arrows>
Un Rango
(Single Range)
<shft><arrows>
Celdas
discontinuas
<ctrl>
(Separate Cells)
Rangos
Discontinuos
(Separate
Ranges)
Cortar y Pegar
(Cut & Paste)
Mover (Move)
Select & Drag
Curso de Microsoft Excel y VBA
www.chconsultores.net
<shft> <ctrl>
<ctrl x> cortar (cut)
<ctrl v> pegar (paste)
[drag] arrastrar o dragar (drag)
6
XLVBA: Manipulación
Operación (Operation)
Teclas (Key)
Copiar
(Copy)
Cross Drag
<ctrl c> <ctrl v> [drag from cross]
Autofill
Cross Drag
[drag]
Toggle
<ctrl><pg up> <ctrl><pg down>
Continuous
<shft>
Separate
<ctrl>
Selección de
Hojas (Sheet
Selection)
Curso de Microsoft Excel y VBA
www.chconsultores.net
7
XLVBA: Agrupación de la información
Según el tipo de información las
hojas de cálculo pueden agrupar:
• Bases de datos:
Input Sheets
Web Queries
Database Queries
• Procesamiento
Functions
Values by VBA
• Reporte
• Gráficas
Curso de Microsoft Excel y VBA
www.chconsultores.net
8
XLVBA: Caso práctico
Elabore el estado de resultados de
MSFT; presentando la información
por trimestre, de forma anual y
trimestre promedio.
Elabore y analice la evolución por
trimestre del costo de ventas,
gasto operativo, costo de capital,
otros gastos y su impacto en las
utilidades netas (gráfica)
Curso de Microsoft Excel y VBA
www.chconsultores.net
9
XLVBA: Caso práctico
Quarter
31-Dec-02
31-Mar-03
30-Sep-02
Total Revenue
Cost of Revenue
Gross Profit
Operating Expenses
Research Development
Selling General and Administrative
Non Recurring
Others
Total Operating Expenses
Operating Income or Loss
Income from Continuing Operations
Total Other Income/Expenses Net
Earnings Before Interest And Taxes
Interest Expense
Income Before Tax
Income Tax Expense
Minority Interest
Net Income From Continuing Ops
Non-recurring Events
Discontinued Operations
Extraordinary Items
Effect Of Accounting Changes
Other Items
30-Jun-03
$ 7,746,000.00 $ 8,541,000.00 $ 7,835,000.00 $ 8,065,000.00
$ 1,199,000.00 $ 2,034,000.00 $ 1,215,000.00 $ 1,238,000.00
$ 6,547,000.00 $ 6,507,000.00 $ 6,620,000.00 $ 6,827,000.00
$ 1,094,000.00
$ 1,403,000.00
$
$
$ 2,497,000.00
$ 1,118,000.00
$ 2,130,000.00
$
$
$ 3,248,000.00
$ 1,111,000.00
$ 1,794,000.00
$
$
$ 2,905,000.00
$ 1,336,000.00
$ 3,298,000.00
$
$
$ 4,634,000.00
$ 4,050,000.00 $ 3,259,000.00 $ 3,715,000.00 $ 2,193,000.00
$
19,000.00
$ 4,069,000.00
$
$ 4,069,000.00
$ 1,343,000.00
$
$ 2,726,000.00
$ 363,000.00
$ 3,622,000.00
$
$ 3,622,000.00
$ 1,070,000.00
$
$ 2,552,000.00
$ 453,000.00
$ 4,168,000.00
$
$ 4,168,000.00
$ 1,374,000.00
$
$ 2,794,000.00
$ 674,000.00
$ 2,867,000.00
$
$ 2,867,000.00
$ 946,000.00
$
$ 1,921,000.00
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
-
-
-
-
$ 2,726,000.00 $ 2,552,000.00 $ 2,794,000.00 $ 1,921,000.00
Net Income
$
$
$
$
Preferred Stock And Other Adjustments
Net Income Applicable To Common Shares $ 2,726,000.00 $ 2,552,000.00 $ 2,794,000.00 $ 1,921,000.00
Curso de Microsoft Excel y VBA
www.chconsultores.net
10
XLVBA: Caso práctico
% from TR
30-Sep-02 31-Dec-02 31-Mar-03 30-Jun-03
$ 16,287,000.00 $ 8,143,500.00
100.00% 100.00% 100.00% 100.00%
1 Year
Total Revenue
Cost of Revenue
Gross Profit
Operating Expenses
Research Development
Selling General and Administrative
Non Recurring
Others
Total Operating Expenses
Operating Income or Loss
Income from Continuing Operations
Total Other Income/Expenses Net
Earnings Before Interest And Taxes
Interest Expense
Income Before Tax
Income Tax Expense
Minority Interest
Net Income From Continuing Ops
Non-recurring Events
Discontinued Operations
Extraordinary Items
Effect Of Accounting Changes
Other Items
Net Income
Preferred Stock And Other Adjustments
Net Income Applicable To Common Shares
Curso de Microsoft Excel y VBA
www.chconsultores.net
Q Average
$ 3,233,000.00 $ 1,616,500.00
15.48%
23.81%
15.51%
15.35%
$ 13,054,000.00 $ 6,527,000.00
84.52%
76.19%
84.49%
84.65%
$ 2,212,000.00 $ 1,106,000.00
$ 3,533,000.00 $ 1,766,500.00
$
$
$
$
$ 5,745,000.00 $ 2,872,500.00
14.12%
18.11%
0.00%
0.00%
32.24%
0.00%
13.09%
24.94%
0.00%
0.00%
38.03%
0.00%
14.18%
22.90%
0.00%
0.00%
37.08%
0.00%
16.57%
40.89%
0.00%
0.00%
57.46%
0.00%
$ 7,309,000.00 $ 3,654,500.00
52.29%
38.16%
47.42%
27.19%
$
382,000.00 $ 191,000.00
$ 7,691,000.00 $ 3,845,500.00
$
$
$ 7,691,000.00 $ 3,845,500.00
$ 2,413,000.00 $ 1,206,500.00
0.25%
52.53%
0.00%
52.53%
17.34%
0.00%
35.19%
4.25%
42.41%
0.00%
42.41%
12.53%
0.00%
29.88%
5.78%
53.20%
0.00%
53.20%
17.54%
0.00%
35.66%
8.36%
35.55%
0.00%
35.55%
11.73%
0.00%
23.82%
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
35.19%
29.88%
35.66%
23.82%
0.00%
0.00%
0.00%
0.00%
35.19%
29.88%
35.66%
23.82%
$ 5,278,000.00 $ 2,639,000.00
$
$
$
$
-
$
$
$
$
-
$ 5,278,000.00 $ 2,639,000.00
$
-
$
-
$ 5,278,000.00 $ 2,639,000.00
11
XLVBA: Caso práctico
Cost of Revenue
Operating Expenses
Interests and Taxes
Other Items
Net Income
Total Revenue
Curso de Microsoft Excel y VBA
www.chconsultores.net
% from TR
31-Dec-02
31-Mar-03
23.81%
15.51%
38.03%
37.08%
8.28%
11.75%
0.00%
0.00%
29.88%
35.66%
100.00%
100.00%
30-Sep-02
15.48%
32.24%
17.09%
0.00%
35.19%
100.00%
12
30-Jun-03
15.35%
57.46%
3.37%
0.00%
23.82%
100.00%
XLVBA: Caso práctico
Percentage from Total Revenues
100%
35.19%
29.88%
35.66%
23.82%
90%
80%
0.00%
3.37%
0.00%
70%
0.00%
0.00%
8.28%
% from TR
60%
11.75%
50%
17.09%
40%
30%
38.03%
20%
32.24%
37.08%
57.46%
10%
15.48%
23.81%
15.51%
15.35%
30-Sep-02
31-Dec-02
31-Mar-03
30-Jun-03
0%
Quarter
Cost of Revenue
Curso de Microsoft Excel y VBA
www.chconsultores.net
Operating Expenses
Interests and Taxes
13
Other Items
Net Income
Segunda
Parte
Excel avanzado
(8hrs.)
“El éxito es pasar de fracaso en fracaso sin perder la
motivación” –Winston ChurchillCurso de Microsoft Excel y VBA
www.chconsultores.net
14
XLVBA: Segunda parte
Agenda:
1.
2.
3.
4.
5.
Funciones avanzadas:
–
–
–
–
–
Funciones de cadenas de texto.
Funciones financieras.
Funciones de búsqueda.
Funciones matriciales.
Funciones mixtas.
–
–
–
–
Herramientas de análisis.
Formato condicional.
Buscar objetivo.
Solver.
–
–
–
–
–
Botones de comando.
Botones de selección.
Cajas de texto.
Cajas de listado.
Barras de incremento.
Tablas dinámicas y gráficos
dinámicos.
Herramientas avanzadas.
Interfaz gráfico.
Caso práctico.
Curso de Microsoft Excel y VBA
www.chconsultores.net
15
Tercera
Parte
VBA básico
(8hrs.)
Curso de Microsoft Excel y VBA
www.chconsultores.net
16
XLVBA: Tercera parte
Agenda:
1.
2.
3.
4.
5.
6.
7.
8.
9.
Introducción al interfaz de
Visual Basic for Applications.
Grabadora de Macros.
Introducción a la
programación orientada a
objetos y eventos.
Objetos, métodos y
propiedades básicos.
Identificadores, constantes y
variables.
Tipos de datos y operadores.
Estructuras de control básicas.
Controles estándar básicos.
Caso práctico.
Curso de Microsoft Excel y VBA
www.chconsultores.net
17
XLVBA: Grabadora de macros
>Ver
>Barra de herramientas
>Visual Basic
Fijar el nivel de seguridad en Medio
Curso de Microsoft Excel y VBA
www.chconsultores.net
18
XLVBA: Introducción al interfaz de VBA
Modo de diseño
Control de ejecución
Ventana de Proyectos
Menú
Ventana de Propiedades
Barra de
herramientas
Visor de objetos
Ventana de
Proyectos
Ventana de
Propiedades
Curso de Microsoft Excel y VBA
www.chconsultores.net
Área de Trabajo
19
XLVBA: Introducción a la programación
-¿Qué es el flujo?
-Programación orientada
a objetos y eventos
Curso de Microsoft Excel y VBA
www.chconsultores.net
20
XLVBA: Objetos, métodos y propiedades
Objects
workbooks, sheets, range, cells, etc.
Properties
name, value, category, borders, etc.
Methods
add, copy, cut, paste, insert, open,
save, new, close, etc.
Sintaxis
object.properties [arguments]
object.methods [arguments]
Curso de Microsoft Excel y VBA
www.chconsultores.net
21
XLVBA: Objetos
Workbooks
workbooks(index).properties or methods
Sheets
sheets(index).properties or methods
Range
range(range as string).properties or methods
range(cells1,cells2).properties or methods
Cells
cells(row_index,column_index).properties
or methods
Curso de Microsoft Excel y VBA
www.chconsultores.net
22
XLVBA: Propiedades y métodos
Propiedades
-Son atributos que tienen
los objetos.
-Todas las propiedades
tienen un valor que
determina el estado del
objeto.
-Se determinan sus
valores en tiempo de
diseño para el inicio del
programa.
-Se pueden modificar con
código en tiempo de
ejecución.
Curso de Microsoft Excel y VBA
www.chconsultores.net
23
XLVBA: Propiedades y métodos
Cells
cells(row_index,column_index).
-properties:
value = number
value = string
value = formula
value = formula as string
-methods:
select
Range
range (string as range).
range (cells(row_idx, col_idx) ,
cells(row_idx, col_idx)).
-methods:
select
Curso de Microsoft Excel y VBA
www.chconsultores.net
24
XLVBA: Propiedades y métodos
Sheets
sheets(index).
name = string
Workbooks
workbooks(index).
-methods:
open(filename as string)
close
activeworkbook.saveas
Curso de Microsoft Excel y VBA
www.chconsultores.net
25
XLVBA: Métodos
Manejo de archivos
New, Open, Save,
Close
Inserción de hojas
Sheets.Add
Manejo del clipboard
Cut, Copy, Paste
Curso de Microsoft Excel y VBA
www.chconsultores.net
26
XLVBA: Procedimientos y funciones
“¡Divide y vencerás!”
Unidades de código.
Procedimientos:
Sintaxis
Sub nombre (parámetros)
…
End Sub
Funciones:
-Devuelven respuesta
Sintaxis
Function nombre (parámetros)
…
End function
Curso de Microsoft Excel y VBA
www.chconsultores.net
27
XLVBA: Identificadores
Identificadores:
Son los nombres con los que se
reconoce a cualquier elemento del
programa (comúnmente a variables
y constantes). Tienen las siguientes
características:
•Comienzan con letra.
•No tienen espacios, puntos o algunos
caracteres especiales.
•No pueden ser palabras clave
reservadas de Visual Basic.
•Mnemotécnicos, se recomienda que no
superen los 25 caracteres, aunque su
máximo es de 255.
Curso de Microsoft Excel y VBA
www.chconsultores.net
28
XLVBA: Constantes
Constantes:
Representan un valor que tiende a
repetirse varias veces en el código.
Se recomienda usar un identificador
en mayúsculas. Ejemplo:
Const NUM_DIAS=250
Const MENSAJE_ERROR = _
“Programa abortado. Error fatal”
Curso de Microsoft Excel y VBA
www.chconsultores.net
29
XLVBA: Constantes
Declaración:
Parámetro
Descripción
Public
Opcional, disponible en todos los módulos
Private
Opcional, sólo disponible en la macro.
Nombre
Nombre o identificador
Tipo
Tipo de dato
Expresión
Contiene el valor asignado
Sintaxis:
[Public/Private] Const nombre [as tipo] = expresión
Ejemplo:
Public Const MENSAJE_ERROR as string = “¡Error Crítico!”
Curso de Microsoft Excel y VBA
www.chconsultores.net
30
XLVBA: Variables
Variables:
Almacenan temporalmente valores
durante la ejecución del programa.
Sintaxis:
Dim nombre [as tipo] = expresión
Ejemplo:
Dim Ventas as currency = 10000
Dim Fecha as date = 31/10/79
Curso de Microsoft Excel y VBA
www.chconsultores.net
31
XLVBA: Tipos de datos
Tipo
Bytes
Valor
Integer
2
-32,768 a +32,767
Long
4
-2,147,483,648 a +2,147,483,648
Single
4
1E-45 a 3E38
Double
8
5E-324 a 1.8E308
Currency
8
+/- 9E14
String
1 / char
65,400
Byte
1
0 a 255
Boolean
2
True o False
Date
8
1/1/100 a 31/12/9999
Curso de Microsoft Excel y VBA
www.chconsultores.net
32
XLVBA: Operadores
-Inteligencia artificial y toma
de decisiones.
-Cuatro grupos:
•Aritméticos
•Comparación
•Lógicos
•Concatenación
Curso de Microsoft Excel y VBA
www.chconsultores.net
33
XLVBA: Operadores aritméticos
Operación
Operador
Suma
+
Resta
-
Multiplicación
*
División
/
División entera
\
Potencia
^
Igual
=
Agrupación
( )
Curso de Microsoft Excel y VBA
www.chconsultores.net
Precedencia de los operadores
1.- Potencia
2.- Negativo
3.-Multiplicación y división
4.-División entera
5.-Suma y resta
Se pueden usar los paréntesis
para alterar el orden de la
precedencia de los operadores
34
XLVBA: Operadores de comparación
Operador
Descripción
=
Igualdad
<>
Desigualdad
<
Menor que
>
Mayor que
<=
Menor o igual que
Comúnmente se usan con
estructuras de control.
Ejemplo:
If number<=maximum then
arguments…
End if
While number<maximum
arguments…
>=
Mayor o igual que
Curso de Microsoft Excel y VBA
www.chconsultores.net
Wend
35
XLVBA: Operadores lógicos
Operador
Not
Descripción
Negación
Not – Negación
Sintaxis
And
Conjunción lógica
Or
Disyunción lógica
Xor
resultado = not expresión
Exclusión lógica
Eqv
Equivalencia lógica
Imp
Implicación lógica
Curso de Microsoft Excel y VBA
www.chconsultores.net
36
expresión
resultado
verdadero
falso
falso
verdadero
null
null
XLVBA: Operadores lógicos
And – Conjunción lógica
Sintaxis
resultado = expresión1 and expresión2
expresión1
expresión2
resultado
verdadero
verdadero
verdadero
verdadero
falso
falso
verdadero
null
null
falso
verdadero
falso
falso
falso
falso
falso
null
falso
null
verdadero
null
null
falso
falso
null
null
null
Curso de Microsoft Excel y VBA
www.chconsultores.net
37
XLVBA: Operadores lógicos
Or – Disyunción lógica
Sintaxis
resultado = expresión1 or expresión2
expresión1
expresión2
resultado
verdadero
verdadero
verdadero
verdadero
falso
verdadero
verdadero
null
verdadero
falso
verdadero
verdadero
falso
falso
falso
falso
null
null
null
verdadero
verdadero
null
falso
null
null
null
null
Curso de Microsoft Excel y VBA
www.chconsultores.net
38
XLVBA: Operadores de concatenación
Concatenar dos cadenas significa crear una tercera
cuyo contenido es igual a la suma de las dos
primeras.
Operador
Descripción
Ejemplos:
+
Datos tipo string
&
Cualquier valor
Curso de Microsoft Excel y VBA
www.chconsultores.net
Nombre = _
“Genaro ” + “Chiu”
Ventas = 1000 & “Autos”
39
XLVBA: Estructuras de control
Formas avanzadas de funciones que
en lugar de devolver valores conducen
el flujo de ejecución de un programa
Curso de Microsoft Excel y VBA
www.chconsultores.net
40
XLVBA: If-Elseif-Else
Ejecuta sentence si cumple
con la condición o es el
caso excluido.
Sintaxis:
If condition then
sentence
Elseif condition then
sentence
Else
sentence
End if
Curso de Microsoft Excel y VBA
www.chconsultores.net
41
XLVBA: For-Next
Sintaxis
For variable=value1 to value2 step value3
sentence
Next variable
true
X=10
X>=10 ?
false
sntc
Ejemplo
For X = 1 to 10 step 1
cells(X,1).value=1
Next X
Curso de Microsoft Excel y VBA
www.chconsultores.net
1
X
42
X+1
XLVBA: While-Wend
Sintaxis
While condition
sentence
Wend
Curso de Microsoft Excel y VBA
www.chconsultores.net
43
XLVBA: Controles estándar
El interfaz para el usuario como lenguaje universal
Label
Etiqueta
Textbox
Caja de texto
Pointer
Apuntador
Command Button
Botón de comando
Curso de Microsoft Excel y VBA
www.chconsultores.net
44
XLVBA: Form
Nueva Forma (Menu-Insert-UserForm)
Nueva Forma (Standard Bar)
Name: nombre_de_formafrm
Nueva Forma (New Form)
Aparece en la ventana de
proyectos y puede ser un
archivo por si mismo
Curso de Microsoft Excel y VBA
www.chconsultores.net
45
XLVBA: Form
Name:
Caption:
BackColor:
Curso de Microsoft Excel y VBA
www.chconsultores.net
tunombrefrm
“tunombre, Curso de Microsoft Excel”
Yellow(&H00C0FFFF&)
46
XLVBA: Label
Rótulos de texto para
transmitir información
al usuario
Name: nombrelbl
Nueva Etiqueta (New Label)
Etiqueta (Label)
Curso de Microsoft Excel y VBA
www.chconsultores.net
47
XLVBA: Label
Name:
Caption:
TextAlign:
Font:
Curso de Microsoft Excel y VBA
www.chconsultores.net
Bienvenidolbl
“¡Bienvenido!”
2-frmTextAlignCenter
Tahoma 18
48
XLVBA: Textbox
Cajas de almacenaje
de texto para recibir
información al usuario
Name: nombretxt
Nueva Caja de texto
(New textbox)
Caja de texto
(Textbox)
Curso de Microsoft Excel y VBA
www.chconsultores.net
49
XLVBA: Textbox
Name:
Font:
Curso de Microsoft Excel y VBA
www.chconsultores.net
Mensajetxt
Tahoma 18
50
XLVBA: Command Button
Botón para recibir
una orden de
ejecución del
usuario
Name: nombrecmd
Nueva Botón de comando
(New Command Button)
Botón de comando
(Command Button)
Curso de Microsoft Excel y VBA
www.chconsultores.net
51
XLVBA: Command Button
Name:
Font:
BackColor:
Cambiarcmd
Comic Sans 14
Pale Green(&H00C0FFC0&)
Private Sub CambiarCmd_Click()
Bienvenidolbl.Caption = Mensajetxt.Text
End Sub
Curso de Microsoft Excel y VBA
www.chconsultores.net
52
XLVBA: Bibliografía
-Microsoft Office Excel 2003
Bible. John Walkenbach. John
Wiley & Sons.
-Financial Modeling, Simon
Benninga Second Edition. The
MIT Press.
-Advanced modelling in
finance using Excel and VBA.
Mary Jackson and Mike
Staunton. John Wiley & Sons.
Curso de Microsoft Excel y VBA
www.chconsultores.net
53
XLVBA: Bibliografía
-Excel 2003 Power
Programming with VBA. John
Walkenbach. John Wiley &
Sons.
-Favorite Excel Tips & Tricks.
John Walkenbach. John Wiley
& Sons.
Curso de Microsoft Excel y VBA
www.chconsultores.net
54
Contactos
Lic. Genaro Chiu Lam
Profesor de Cátedra
Departamento de Contabilidad y Finanzas
División de Negocios
Tecnológico de Monterrey, Campus Ciudad de México
Cel. (04455) 59-67-79-23
[email protected]
http://www.chconsultores.net
Curso de Microsoft Excel y VBA
www.chconsultores.net
55
¡Gracias!
Lic. Genaro Chiu Lam
[email protected]
Descargar