Está en la página 1de 251

Contenido

ANLISIS DE DATOS II .............................................................................................................. 1


FORMATO COMO TABLA .............................................................................................................. 2
Lista de datos ...................................................................................................................... 2
Estructura de una lista de datos .......................................................................................... 2
Uso de las tablas de datos .................................................................................................. 2
Ordenar datos ..................................................................................................................... 8
FILTRO DE DATOS..................................................................................................................... 14
Filtro personalizado ........................................................................................................... 16
Filtro mltiple ..................................................................................................................... 17
Quitar un Filtro ................................................................................................................... 18
Utilizar estilos rpidos y crear estilos de formato de tabla ................................................ 18
HERRAMIENTAS DE DATOS ........................................................................................................ 25
Texto en columnas ............................................................................................................ 25
Quitar duplicados .............................................................................................................. 30
VALIDACIN DE DATOS ............................................................................................................. 32
Restringir el ingreso de datos ........................................................................................... 32
Validar con intervalo de nmeros ...................................................................................... 32
ANLISIS Y SI ........................................................................................................................... 37
Uso del administrador de escenarios ................................................................................ 38
Buscar Objetivo ................................................................................................................. 44
Tabla de datos ................................................................................................................... 45
Tabla de datos de una variable ......................................................................................... 45
Tablas de datos de dos variables ..................................................................................... 48
CONSOLIDACIN DE DATOS Y REFERENCIA 3D .......................................................................... 49
Cuando consolidar datos de varias hojas ......................................................................... 49
Consolide por frmula ....................................................................................................... 50
REFERENCIAS 3D .................................................................................................................... 55
CUESTIONARIOS ...................................................................................................................... 58
FUNCIONES FINANCIERAS .................................................................................................... 59
GENERALIDADES SOBRE EXCEL EN EL MUNDO DE LOS NEGOCIOS ............................................... 60
USO DE FUNCIONES FINANCIERAS ............................................................................................. 60
Consideraciones del ndice de inflacin ............................................................................ 60
Tasa nominal ..................................................................................................................... 62
Tasa efectiva (i) ................................................................................................................ 63
Prstamo de un banco: Funcin PAGO ........................................................................... 64
Valor presente de la inversin/pagos futuros: Funcin VA ............................................... 68
Valor futuro de la inversin: Funcin VF ........................................................................... 70
Nmero de pagos de inversin: Nper ............................................................................... 73
Funcin TASA ................................................................................................................... 75
Tasa interna de retorno (TIR) ............................................................................................ 76
DESARROLLO DE PROYECTOS CON FUNCIONES FINANCIERAS ..................................................... 78
Comprar frente a un leasing .............................................................................................. 78
Calcular la tasa interna de devolucin para un flujo de liquidez no peridico .................. 82
Calcular la tasa interna de devoluciones mltiples ........................................................... 83
CUESTIONARIOS ...................................................................................................................... 85
ANLISIS DE DATOS III ........................................................................................................... 86
HERRAMIENTAS DE ANLISIS ESTADSTICO................................................................................ 87
Tendencia lineal de ajuste perfecto automticamente ...................................................... 87
Tendencia geomtrica de forma automtica ..................................................................... 88
Tendencia lineal o geomtrica de forma manual .............................................................. 89
Agregar una lnea de tendencia a un grfico .................................................................... 90
Proyectar valores .............................................................................................................. 93

Uso de cuadros de Histogramas para el clculo de frecuencias individuales y


acumulativas ..................................................................................................................... 96
DEFINICIN Y RESOLUCIN DE PROBLEMAS CON SOLVER ......................................................... 101
Generalidades sobre Solver ............................................................................................ 101
Carga del programa de complemento Solver ................................................................. 101
Cmo configura Solver .................................................................................................... 104
Modificacin de forma de bsqueda de soluciones en Solver ........................................ 105
Desarrollo de casos tipo utilizando Solver ...................................................................... 106
CUESTIONARIOS .................................................................................................................... 108
FORMULARIOS ...................................................................................................................... 109
ACTIVACIN DE LA FICHA PROGRAMADOR ................................................................................ 110
DISEO DE FORMULARIOS ...................................................................................................... 111
Mostrar y ocultar elementos ............................................................................................ 111
Trabajando con Controles ............................................................................................... 112
Uso de los controles de formulario .................................................................................. 113
CUESTIONARIOS .................................................................................................................... 129
MACROS ................................................................................................................................. 130
MACROS................................................................................................................................ 131
Definicin ......................................................................................................................... 131
Editor de Visual Basic ..................................................................................................... 131
Para que se utilizan las Macros ...................................................................................... 132
Macros VBA con Excel .................................................................................................... 133
Ventajas........................................................................................................................... 133
SEGURIDAD DE MACROS ........................................................................................................ 134
Los Macrovirus ................................................................................................................ 134
Ayudar a proteger archivos de virus en macros ............................................................. 135
Firmas digitales ............................................................................................................... 136
Lista de editores de confianza ........................................................................................ 137
Advertencias acerca de plantillas y complementos instalados ....................................... 137
GRABAR UNA NUEVA MACRO .................................................................................................. 138
EDITAR UNA MACRO UTILIZANDO VISUAL BASIC ....................................................................... 140
ELIMINAR MACROS ................................................................................................................. 141
REFERENCIAS RELATIVAS....................................................................................................... 141
Diferencia entre celda relativa y absoluta ....................................................................... 142
USO DE MACROS EN FORMULARIOS ........................................................................................ 142
PLANTILLAS CON FORMULARIOS Y MACROS ............................................................................. 148
Crear Plantillas personalizadas ....................................................................................... 150
Utilizar Plantillas personalizadas ..................................................................................... 151
DESARROLLO DE PROYECTOS CON MACRO Y FORMULARIOS..................................................... 151
CUESTIONARIOS .................................................................................................................... 158
PROGRAMACIN CON VBA ................................................................................................. 159
INTRODUCCIN AL VISUAL BASIC ............................................................................................ 160
FUNDAMENTOS DE PROGRAMACIN VBA ................................................................................ 162
Estructura Secuencial. .................................................................................................... 162
Estructura Condicional. ................................................................................................... 163
Sentencia seleccin-caso................................................................................................ 165
Estructura Repetitiva. ...................................................................................................... 167
LA VENTANA DEL EDITOR DE VISUAL BASIC .............................................................................. 170
Terminologa de Visual Basic .......................................................................................... 171
Programacin por eventos .............................................................................................. 172
Convenciones para los nombres de los objetos ............................................................. 172
Formularios ..................................................................................................................... 173
Editando Cdigo .............................................................................................................. 174
CREACIN Y USO DE PROCEDIMIENTOS ................................................................................... 175
Procedimientos ................................................................................................................ 175
Procedimientos de Evento .............................................................................................. 175

Procedimientos Generales .............................................................................................. 176


Procedimientos Sub ........................................................................................................ 176
Procedimientos Function ................................................................................................. 177
mbito de las variables. .................................................................................................. 177
Formas de declaracin de variables en un proyecto VB. ............................................... 178
Sentencia Dim ................................................................................................................. 178
Sentencia PRIVATE ........................................................................................................ 178
Sentencia PUBLIC .......................................................................................................... 178
Sentencia GLOBAL ......................................................................................................... 178
Sentencia STATIC ........................................................................................................... 178
Resumen de declaracin de variables ............................................................................ 179
Forma de conocer el tipo de una variable. Funcin TypeName ..................................... 179
OBJETOS PROPIEDADES, MTODOS Y EVENTOS ....................................................................... 180
Control Etiqueta (Label) .................................................................................................. 180
Control Cuadro de Texto (Textbox) ................................................................................. 181
Control Botn de Comando (Commandbutton) .............................................................. 181
Estableciendo Propiedades ............................................................................................ 182
DEFINICIN DE VARIABLES, TIPOS DE DATOS Y CONSTANTES .................................................... 183
Option Explicit .................................................................................................................. 183
Tipos de Variables ........................................................................................................... 183
Declaracin de variables ................................................................................................. 184
Tipos de variables ........................................................................................................... 184
a. Variables Alfanumricas.............................................................................................. 185
b. Variable Numricas ..................................................................................................... 185
c. Variable Date ............................................................................................................... 186
d. Variable Boolean ......................................................................................................... 186
Constantes ...................................................................................................................... 186
Operadores ..................................................................................................................... 187
CONSTRUCCIONES: IF THEN, SELECT CASE ......................................................................... 188
Condicional simple. If .. then ........................................................................................... 188
Condicional doble If...Then...Else ................................................................................... 189
Condicional mltiple Select Case .................................................................................... 190
BUCLES FOR NEXT, W HILE .. DO ........................................................................................ 192
Do...Loop ......................................................................................................................... 193
For...Next ......................................................................................................................... 194
For Each...Next ............................................................................................................... 194
TRABAJAR CON RANGOS DE CELDA ......................................................................................... 196
Utilizando la notacin A1 ................................................................................................. 196
Hacer referencia a celdas utilizando nmeros de ndice ................................................ 196
Hacer referencia a filas y columnas ................................................................................ 197
Hacer referencia a celdas utilizando una notacin abreviada ........................................ 198
Hacer referencia a rangos con nombre ........................................................................... 198
Hacer referencia a un rango con nombre ....................................................................... 198
Ejecutar un bucle en las celdas de un rango con nombre .............................................. 199
Hacer referencia a celdas en relacin con otras celdas ................................................. 200
Hacer referencia a celdas usando un objeto Range ....................................................... 200
Hacer referencia a todas las celdas de la hoja de clculo .............................................. 201
Hacer referencia a varios rangos .................................................................................... 201
Usar la propiedad Range ................................................................................................ 201
Usar el mtodo Union...................................................................................................... 201
Usar la propiedad Areas.................................................................................................. 202
Bucles en un rango de celdas ......................................................................................... 202
Seleccionar y activar celdas ............................................................................................ 203
Usar el mtodo Select y la propiedad Selection ............................................................. 204
Seleccionar celdas en la hoja de clculo activa .............................................................. 204
Activar una celda en una seleccin ................................................................................. 205
Trabajar con rangos 3D................................................................................................... 205
Trabajar con la celda activa ............................................................................................ 206
Mover la celda activa ....................................................................................................... 206

Seleccionar las celdas que rodean la celda activa ......................................................... 207


TRABAJO CON LIBROS Y HOJAS ............................................................................................... 207
Hacer referencia a hojas por nmero de ndice .............................................................. 207
Hacer referencia a hojas por su nombre ......................................................................... 207
AADIR MDULOS VBA .......................................................................................................... 208
TRABAJAR CON USERFORMS .................................................................................................. 208
USO DE CONTROLES DE FORMULARIO...................................................................................... 209
Control Marco (Frame) .................................................................................................... 209
Control Casilla de Verificacin (CheckBox) .................................................................... 209
Control Botn de Opcin (OptionButton) ........................................................................ 210
Control Cuadro de Lista (ListBox) ................................................................................... 211
Control Cuadro Combinado (ComboBox) ....................................................................... 212
FUNCIONES VBA INPUTBOX, MSGBOX ................................................................................... 215
Funcin MsgBox() ........................................................................................................... 215
Funcin InpuBox() ........................................................................................................... 215
METODO GETOPENFILENAME , GETSAVEASFILENAME ............................................................ 215
Funcin GetOpenfilename () ........................................................................................... 215
Funcin GetSaveAsFileName ......................................................................................... 217
CREAR Y ABRIR LIBRO ............................................................................................................ 217
Crear un libro nuevo ........................................................................................................ 217
CUESTIONARIOS .................................................................................................................... 218
EJERCICIOS UTILIZANDO MACRO, FORMULARIO Y VBA ............................................................ 219
FUNCIONES PERSONALIZADAS ......................................................................................... 230
USO DE MDULOS PARA FUNCIONES ....................................................................................... 231
Ventajas........................................................................................................................... 231
Caractersticas ................................................................................................................ 231
USO DE ARGUMENTOS EN LAS FUNCIONES ............................................................................... 232
EJECUTAR UNA FUNCIN ........................................................................................................ 233
Recursividad .................................................................................................................... 234
CONTROLES ACTIVE X ........................................................................................................... 235
CUESTIONARIOS .................................................................................................................... 236

Captulo

Anlisis de datos II
En este captulo trataremos:
Formato como tabla
Herramientas de datos
Consolidacin y referencias 3D

AP. Formacin Online.

Microsoft Office Excel 2010

Formato como tabla


Excel es primariamente una hoja de clculo, pero adems de ello tiene capacidad para
analizar tablas de datos, tales como stock, clientes, planillas, monitorear cuentas y
ventas.
La combinacin de una serie de funciones hace al Excel una excelente herramienta de
anlisis para negocios y administracin de sistemas.
Excel usa el trmino Lista para referirse a informacin almacenada en filas y columnas,
si usted est familiarizado con versiones anteriores de Excel, entonces es probable que
este ms familiarizado con el trmino Base de Datos.

Lista de datos
Una lista de datos es un conjunto de registro formado por filas y columnas.
Las filas representan los registros de datos
Las columnas representan los campos de datos

Estructura de una lista de datos


Campo1

Campo2

Campo3

Campo4

Campo5

Registros

Uso de las tablas de datos


Una vez que se han ingresado los nombres de los campos y la fila de datos inciales
a su lista, podemos usar cualquiera de los siguientes mtodos para ingresar datos:
Uso de ingreso automtico de datos usando la ficha de datos
Ingresar los datos directamente en la hoja dentro de las celdas vacas

AP. Formacin Online.

Microsoft Office Excel 2010

Paso a Paso: Agregar el comando formulario a la barra de herramientas


de acceso rpido
1. Hacer clic en la pestaa Archivo
2. Hacer clic en opciones, se presenta el cuadro de dilogo Opciones Excel.

Hacer clic en la
opcin Personalizar

3. Se presenta el cuadro de dilogo Personalizar la barra de herramientas de


acceso rpido.

AP. Formacin Online.

Microsoft Office Excel 2010

Seleccionar Todos los


comandos

Seleccionar
Formulario

4. Hacer clic en el botn Aceptar para terminar


Paso a Paso: Agregar datos
1. Abrir el archivo 1 BD Pedidos
2. Adicionaremos registros a la base de datos de pedidos, la cual mostramos a
continuacin.

AP. Formacin Online.

Microsoft Office Excel 2010

3. Seleccionar al celda A2
4. Hacer clic en el botn Formulario

5. Se presenta la ficha formulario mostrando los registros de la base de datos 1


BD Pedidos

6. Para adicionar registros hacer clic en el botn


7. Se presenta un formulario en blanco, ingrese el siguiente registro

AP. Formacin Online.

Microsoft Office Excel 2010

8. Hacer clic en el botn

para terminar

Paso a Paso: Eliminar datos


1.

Abrir el archivo 1 BD Pedidos

2. Eliminaremos el registro de pedido realizado por el cliente SoftPlus


3. Seleccionar al celda A2
4. Hacer clic en el botn Formulario

5. Se presenta la ficha formulario mostrando los registros de la base de datos 1


BD Pedidos

AP. Formacin Online.

Microsoft Office Excel 2010

6. Primero localizaremos el registro, para ello hacer clic en el botn

Ingrese SoftPlus,
nombre del cliente a
localizar

Hacer clic en el botn


Buscar siguiente

7. Se mostrar el registro de pedido de la empresa SoftPlus

8. Hacer clic en el botn


permanentemente este registro.

AP. Formacin Online.

, Excel preguntar si desea eliminar

Microsoft Office Excel 2010

9. Hacer clic en el botn


10. Hacer clic en el botn

para terminar

Ordenar datos
La ordenacin de los registros nos permite ver y comprender mejor los datos, as como a
organizarlos y encontrarlos ms fcilmente y a tomar decisiones ms eficaces.
Se puede ordenar los registros por: Texto, nmeros, fechas u horas, color de celda, color
de fuente o icono, por una lista personalizada, filas, por ms de una columna o fila,
ordenar una columna en un rango de celdas sin afectar a las dems.

Paso a Paso: Ordenar por un campo texto


1. Abrir el archivo 1 BD Pedidos

2. Ordenaremos por el campo


ascendente

de datos Cliente alfabticamente en orden

3. Hacer clic en la celda A2


4. Hacer Clic en la ficha

, desplace su visin al grupo Ordenar y filtrar

Hacer clic en el botn


Ordenar de A a Z

5. Se mostrarn sus registros ordenados por el campo cliente

AP. Formacin Online.

Microsoft Office Excel 2010

Paso a Paso: Ordenar por un campo texto distinguiendo las maysculas


de las minsculas
1. Abrir el archivo 1 BD Pedidos

2. Ordenaremos por el campo de datos NombreProducto alfabticamente en


orden ascendente
3. Hacer clic en la celda A2
4. Hacer clic en la ficha

, desplace su visin al grupo Ordenar y filtrar

Hacer clic en
el botn
Ordenar

5. Se muestra el siguiente cuadro de dilogo

Hacer clic en el botn


Opciones

6. Hacer clic en el botn

7. Del cuadro de dilogo presentado activar


la casilla de verificacin Distinguir
maysculas de minscula

AP. Formacin Online.

Microsoft Office Excel 2010

8. Hacer clic en el botn


dilogo ordenar

para continuar. Se mostrar el cuadro de

Seleccionar columna
NombreProducto

9. Hacer clic en el botn


para terminar. Se mostrarn los registros
ordenados por el campo NombreProducto, distinguiendo las maysculas de las
minsculas.

Paso a Paso: Ordenar por un campo numrico


1. Abrir el archivo 1 BD Pedidos

2. Ordenaremos por el campo de datos Cantidad en orden descendente


3. Hacer clic en la celda A2
4. Hacer clic en la ficha
10

, desplace su visin al grupo Ordenar y filtrar


AP. Formacin Online.

Microsoft Office Excel 2010

Hacer clic en el botn


Ordenar

5. Se presenta el siguiente cuadro de dilogo

Hacer clic para


seleccionar la
columna Cantidad

Seleccionar como
criterio de ordenacin
De mayor a menor

6. Hacer clic en el botn


para terminar, se mostrarn los
registros ordenados por el campo cantidad

Paso a Paso: Ordenar por fecha u hora


1. Abrir el archivo 1 BD Pedidos

AP. Formacin Online.

11

Microsoft Office Excel 2010

2. Ordenaremos por el campo de datos Fecha Pedido en orden descendente


3. Hacer clic en la celda A2
4. Hacer clic en la ficha

, desplace su visin al grupo Ordenar y filtrar


Hacer clic en el botn
Ordenar

5. Se presenta el siguiente cuadro de dilogo

Seleccionar la
columna
FechaPedido

6. Para terminar hacer clic en el botn


ordenados por fecha de pedido

Seleccione su criterio
de ordenacin

se muestran los registros

Ordenar por color de celda, color de fuente o icono


Si ha aplicado formato manual o condicionalmente a un rango de celdas o a
una columna de tabla, por color de celda o color de fuente, tambin puede
ordenar por estos colores. Adems, puede ordenar por un conjunto de iconos
creado mediante un formato condicional.
12

AP. Formacin Online.

Microsoft Office Excel 2010

Paso a Paso: Ordenar por ms de una columna


1. Abrir el archivo 1 BD Pedidos

2. Ordenaremos por el campo: cliente, fechapedido, nombreproducto en orden


descendente
3. Hacer clic en la celda A2
4. Hacer clic en la ficha

, desplace su visin al grupo Ordenar y filtrar


Hacer clic en el botn
Ordenar

5. Se presenta el siguiente cuadro de dilogo


Seleccionar columna Cliente como
primer criterio de ordenacin

Seleccionar columna
NombreProducto como tercer
criterio de ordenacin

Seleccionar columna
FechaPedido como segundo
criterio de ordenacin

6. Hacer clic en el botn


para terminar. Se muestran los registros
ordenados por cliente, fechapedido, nombreproducto en orden descendente.

AP. Formacin Online.

13

Microsoft Office Excel 2010

Filtro de datos
El filtrado de datos constituye un mtodo fcil y rpido para encontrar subconjuntos de
datos en una lista y trabajar con ellos.
Cuando se filtra una lista slo visualizar las filas que cumplen un conjunto de
condiciones de bsqueda llamado criterios.
A diferencia de la ordenacin, la filtracin no reorganiza las listas. La filtracin oculta
provisionalmente las filas que no desea mostrar.
Cuando Excel filtra las filas, la hoja de clculo se coloca en el modo de filtracin. En
este modo se podr editar, dar formato, efectuar representaciones grficas e imprimir la
lista de subconjuntos sin tener que reorganizarla o moverla.
Paso a Paso: Aplicar Autofiltros
1. Abrir el archivo FILTROS
2. Utilice la siguiente lista de datos para filtrar registros por seccin.

3. Ubicarse en la celda A5.


4. Hacer clic en la ficha

, botn

5. Ahora simplemente con hacer clic en la lista desplegable podr filtrar los
registros de datos segn sus requerimientos.
14

AP. Formacin Online.

Microsoft Office Excel 2010

6. Hacer clic en el autofiltro grado y desactive las casillas del 2do. Al 6to. Grado,
de tal forma que slo se muestre alumnos del 1er. Grado.

Desactive
las
casillas del 2do.
Al 6to. grado

7. Los registros filtrados se muestran como en la grfica.

AP. Formacin Online.

15

Microsoft Office Excel 2010

Filtro personalizado
Se utiliza para especificar condiciones utilizando operadores booleanos.
Paso a Paso: Filtros personalizados
1. Abrir el archivo FILTROS o disear la hoja de clculo
Utilice la siguiente lista de datos para filtrar registros donde el monto de la
pensin est entre: 200 y 350.

a. Ubicarse en la celda A5.


b. Hacer clic en la ficha

, botn

c. De la lista de opciones presentadas elegir


La opcin: Mayor o igual a
Se presenta el siguiente cuadro de dilogo
2. Ingrese los valores segn se muestra en la grfica, para que slo se muestre los
alumnos que pagan una pensin que est entre 200 y 350 nuevos soles.

3. Hacer clic en el botn


16

para aplicar el filtro.


AP. Formacin Online.

Microsoft Office Excel 2010

Pensiones de alumnos
con valor entre 200 y 350.

Filtro mltiple
Se utiliza para especificar mltiples condiciones
Paso a Paso: Filtros mltiple
1. Abrir el archivo FILTROS
Utilice la siguiente lista de datos para filtrar registros donde:
Procedencia: CIV
Nivel: P
Grado: 1

2. Ubicarse en la celda A5.


3. Hacer clic en la ficha

, botn

4. De la lista de opciones presentadas elegir


Procedencia: CIV
Nivel: P
Grado: 1

AP. Formacin Online.

17

Microsoft Office Excel 2010


Hacer clic y dejar slo activado la
casilla de verificacin 1
Hacer clic y dejar slo activado la
casilla de verificacin P
Hacer clic y dejar slo activado la
casilla de verificacin CIV

Quitar un Filtro
Para mostrar en su tabla todos los registros, debe quitar los filtros aplicados.

Paso a Paso: Quitar filtros

Hacer clic en la ficha

, botn

Utilizar estilos rpidos y crear estilos de formato de tabla


Microsoft Office Excel proporciona un gran nmero de estilos de tabla (o estilos
rpidos) predefinidos que puede utilizar para dar formato rpidamente a una tabla. Si los
estilos de la tabla predefinida no satisfacen sus necesidades, puede crear y aplicar un
estilo de tabla personalizado. Aunque slo se pueden eliminar los estilos de tabla
personalizados, puede quitar cualquier estilo de tabla para que ya no se aplique a los
datos.

Paso a Paso: Utilizar estilos rpidos de tabla


1. Abrir el archivo 1BD pedidos. Se muestra la siguiente hoja de clculo
18

AP. Formacin Online.

Microsoft Office Excel 2010

2. Hacer clic en la celda A2


3. Hacer clic en la ficha
4. Del grupo Estilos seleccionar el comando Dar formato como tabla

5. Se presenta un conjunto de estilos prediseados, categorizados en: Claro,


medio, oscuro.

Seleccionar uno
de los estilos
mostrados

6. Luego de elegir un estilo se presenta un cuadro de dilogo


AP. Formacin Online.

19

Microsoft Office Excel 2010

7. Verifique que el rango seleccionado es el correcto,


verificacin La tabla tiene encabezados.
8. Finalmente hacer clic en el botn

active la casilla de

se muestra la tabla con formato

Paso a Paso: Crear estilos de formato de tabla


1. Abrir el archivo 1BD pedidos. Se muestra la siguiente hoja de clculo

2.

Hacer clic en la celda A2

3. Hacer clic en la ficha


4. Del grupo Estilos seleccionar el comando Dar formato como tabla

20

AP. Formacin Online.

Microsoft Office Excel 2010

5. Se presenta un conjunto de estilos prediseados, categorizados en: Claro,


medio, oscuro y al final se presentan dos botones de comando que mostramos
a continuacin.

Hacer clic en el
botn Nuevo
estilo de tabla

6. Se muestra el cuadro de dilogo Nuevo estilo rpido de tabla


Escriba la palabra Pedidos
como nombre de estilo

Aplique los formatos a cada


uno de los elementos de la
tabla

Hacer clic en el
botn Formato

7. Se presenta el cuadro de dilogo formato de celda


AP. Formacin Online.

21

Microsoft Office Excel 2010

Elegir donde
aplicar los
bordes

Hacer clic en la
ficha Bordes

Elegir el estilo
de lnea
Elegir color

Hacer clic para


cambiar a la ficha
Relleno

Elegir color de
fondo

Elegir efecto de
relleno

8. Para terminar hacer clic en el botn


22

AP. Formacin Online.

Microsoft Office Excel 2010

Paso a Paso: Modificar estilo rpido de la tabla de datos


1. Abrir el archivo 1BD pedidos. Se muestra la siguiente hoja de clculo

2. Hacer clic en la celda A2


3. Hacer clic en la ficha
4. Del grupo Estilos seleccionar el comando Dar formato como tabla

5. Del grupo de opciones Personalizada hacer clic derecho sobre la que desea
modificar

Hacer clic derecho

6. Del grupo de opciones presentadas elegir Modificar

Hacer clic sobre la


opcin Modificar

7.
AP. Formacin Online.

Realizar los cambios necesarios


23

Microsoft Office Excel 2010

Elegir Primera
franja de fila

Hacer clic sobre la


opcin Formato

8. Del cuadro de dilogo Formato de celdas, elegir la ficha Relleno

Seleccionar
color de fondo

24

AP. Formacin Online.

Microsoft Office Excel 2010

9. Hacer clic en el botn


,
para terminar y veamos cmo
queda la tabla. Se muestra con colores intercalados entre fila y fila

10. Repita el procedimiento para modificar cada uno de los elementos de la tabla

Seleccione una de estas


opciones, luego hacer clic en
el botn
para
modificar cada uno de los
elementos de la tabla

Herramientas de datos
Excel presenta un conjunto de herramientas de datos entre las cuales tenemos: Texto en
columnas, validacin de datos, anlisis Y si. Las cuales describiremos a continuacin.

Texto en columnas
Si copia datos de otro programa y lo pegarlo en Microsoft Excel, Excel puede
comprimir varias columnas de datos a una sola columna. Puede utilizar el comando de
texto en columnas para colocar cada una de las columnas de datos en una celda
(Columna independiente)
Dividir el contenido en funcin de un delimitador
Utilice este mtodo si los nombres tienen un formato delimitado, como "Nombre
Apellido" (donde el espacio entre Nombre y Apellido es el delimitador) o
"Apellido, Nombre" (donde la coma es el delimitador).

Paso a Paso: Convertir texto en columnas separado por comas


1. Abrir el archivo Texto en columnas. Se muestra la siguiente hoja de clculo
AP. Formacin Online.

25

Microsoft Office Excel 2010

2. Seleccione el bloque de celdas A1:A4. Hacer clic en la ficha


visualizar el grupo herramienta de datos.

Hacer clic sobre la


herramienta Texto en
columnas

3. Se presenta el asistente para convertir texto en columnas

Debido a que el
texto se separa
con comas, elegir
la opcin
Delimitados

4. Hacer clic en el botn


5. En el siguiente cuadro de dilogo se preguntar que separador utilizar entre los
siguientes: Tabulacin, punto y coma, coma, espacio, otro.
Elegir la opcin coma

26

AP. Formacin Online.

Microsoft Office Excel 2010

Elegir coma
como separador

6. Hacer clic en el botn

Elegir
Texto

Celda a partir de donde


se colocaran los datos

7. Hacer clic en el botn


muestra a continuacin

AP. Formacin Online.

para terminar, su hoja queda como se

27

Microsoft Office Excel 2010


El texto de dividi en dos
columnas, una para el
nombre y la otra para el
apellido. Se utilizo como
delimitador de divisin la
coma.

8. Grabar el archivo con el nombre Texto en columnas dividido 1

Paso a Paso: Convertir texto en columnas separado por espacios


1. Abrir el archivo Texto en columnas. Se muestra la siguiente hoja de clculo

2. Seleccione el bloque de celdas A1:A4. Hacer clic en la ficha


visualizar el grupo herramienta de datos.

Hacer clic sobre la


herramienta Texto
en columnas

3. Se presenta el asistente para convertir texto en columnas

Debido a que el
texto se separa con
comas, elegir la
opcin
Delimitados

28

AP. Formacin Online.

Microsoft Office Excel 2010

4. Hacer clic en el botn


5. En el siguiente cuadro de dilogo se preguntar que separador utilizar entre los
siguientes: Tabulacin, punto y coma, coma, espacio, otro.
Elegir la opcin Espacio

Elegir Espacio
como separador

6. Hacer clic en el botn

Elegir
Texto

Celda a partir de
donde se colocaran
los datos

AP. Formacin Online.

29

Microsoft Office Excel 2010

7. Hacer clic en el botn


muestra a continuacin

para terminar, su hoja queda como se


El texto de dividi en seis columnas

8. Grabar el archivo con el nombre Texto en columnas dividido 2

Quitar duplicados
Es posible eliminar valores duplicados de una lista utilizando la herramienta quitar
duplicados.

Paso a Paso: Quitar duplicados


1. Abrir el archivo 1 Quitar duplicados. Se muestra la siguiente hoja de
clculo

2. Ordenar la lista por el campo que desea eliminar los datos duplicados
3. Hacer clic en la ficha

Hacer clic en
el botn
Ordenar
30

AP. Formacin Online.

Microsoft Office Excel 2010

4. Se presenta el cuadro de dilogo ordenar

Hacer clic para seleccionar


Nombre como columna a
ordenar

Hacer clic para activar la


casilla indicando que si
contamos con
encabezados

5. Hacer clic en el botn Aceptar para terminar con la ordenacin


6. Hacer clic en la ficha

Hacer clic en el botn


Quitar duplicados

7. Se presenta el cuadro de dilogo Quitar duplicados

Hacer clic para activar


la casilla Mis datos
tienen encabezados
Hacer clic para indicar que
se eliminan duplicados de
la columna Nombre

8. Hacer clic en el botn


para terminar. Excel enva un mensaje
que indica que se eliminaron 4 valores duplicados

AP. Formacin Online.

31

Microsoft Office Excel 2010

9. Su tabla queda como se muestra a continuacin.

Validacin de datos
Si desea asegurarse de que se introducen los datos correctos en una hoja de clculo,
puede especificar qu datos son vlidos para cada celda o cada rango de celdas. Puede
restringir los datos a un tipo determinado (como nmeros enteros, nmeros decimales o
texto) y definir lmites en las entradas vlidas. Puede especificar una lista de entradas
vlidas o limitar el nmero de caracteres en las entradas.

Restringir el ingreso de datos


Cuando quiera validar una celda o un conjunto de celdas tendr que establecer un
criterio para la validacin de datos, especificar un mensaje de entrada de datos con este
podr indicar que tipo de datos se podr ingresar y un mensaje de error, para indicar al
usuario que cometi un error de ingreso de datos.

Validar con intervalo de nmeros


Se puede restringir el ingreso de datos a las celdas, de tal forma que solamente acepte
como datos un intervalo numrico.

Paso a Paso: Validar intervalo numrico


1. Abrir el archivo 1 Validar datos

32

AP. Formacin Online.

Microsoft Office Excel 2010

2. Seleccionar las celdas C4:C13 para agregarle una restriccin, que acepte slo
como datos los nmeros: 1 hasta 120.

3. Elegir la ficha

Hacer clic en la
ficha
Configuracin
Elegir Nmeros
enteros

Elegir Entre
Ingresar 1 como mnimo y
120 como mximo.

AP. Formacin Online.

33

Microsoft Office Excel 2010

a. Seleccionar la opcin Permitir: Nmero entero


b. Datos: Entre
c. Mnimo: 1

Mximo: 120

4. Cambiar a la pestaa Mensaje de entrada, para definir un mensaje que se


mostrar cuando intente ingresar un dato.

Hacer clic en la ficha


Mensaje de entrada

Escribir como ttulo Edad 1 a


120

Escribir mensaje Ingrese un


nmero entre 1 y 120

5. Finalmente hacer un clic en el botn


Ahora a propsito ingrese valor menos a 1 o mayores a 120 y observe lo que
sucede.
Paso a Paso: Validar dato fecha
1. Abrir el archivo 1 Validar datos

34

AP. Formacin Online.

Microsoft Office Excel 2010

2. Seleccionar las celdas E4:E13 para agregarle una restriccin, que acepte slo
como datos fechas: entre 1/1/1965 hasta 1/1/1980

3. Elegir la ficha

Hacer clic en
configuracin

la

ficha

Elegir Fecha
Elegir Entre
Ingresar 1/1/1965 como
1/1/1980 como mximo.

mnimo

4. Cambiar a la pestaa Mensaje de entrada, para definir un mensaje que se


mostrar cuando intente ingresar un dato.

Hacer clic en la ficha


Mensaje de entrada

AP. Formacin Online.

35

Microsoft Office Excel 2010


Escribir ttulo 1/1/1965
a 1/1/1980

Escribir mensaje

5. Finalmente hacer un clic en el botn

Paso a Paso: Eliminar una regla de validacin


1. Seleccionar las celdas que desee eliminar la validacin de datos.
2. Hacer clic en la ficha

Hacer clic en la lista


Validacin de datos

Hacer clic en el botn


Validacin de datos

36

AP. Formacin Online.

Microsoft Office Excel 2010


3. Del cuadro de dilogo Validacin de datos hacer clic en el botn

Paso a Paso: Rodear con crculo datos no vlidos


1. Hacer clic en la ficha

Hacer clic en la lista


Validacin de datos

Hacer clic en el botn


Rodear con un crculo
datos no vlidos

Paso a Paso: Borrar crculos de validacin


1. Hacer clic en la ficha

Hacer clic en la lista


Validacin de datos

Hacer clic en el botn


Borrar crculos de
validacin

Anlisis Y si
Permite crear escenarios para realizar predicciones. Por ejemplo, puede realizar anlisis
y si para crear dos presupuestos donde en cada uno de ellos se supone un cierto grado de
ingresos. O, puede especificar un resultado que desea que genere una frmula y, a
continuacin, determinar qu conjuntos de valores generarn dicho resultado.
Excel proporciona varias herramientas diferentes para ayudar a realizar el tipo de
anlisis que se ajuste a sus necesidades.

AP. Formacin Online.

37

Microsoft Office Excel 2010

Uso del administrador de escenarios


Excel es ideal para el anlisis Y-Si. Ud. Puede ingresar valores dentro de las celdas y
observar que pasa dependiendo de su contenido.
Un escenario es un conjunto de valores que Microsoft Excel guarda y puede sustituir
automticamente en la hoja de clculo. Puede utilizar los escenarios para prever el
resultado de un modelo de hoja de clculo. Puede crear y guardar diferentes grupos de
valores en una hoja de clculo y, a continuacin, pasar a cualquiera de estos nuevos
escenarios para ver distintos resultados.
Componentes de un escenario
Un Modelo con Escenarios nombrados debe tener:
-

Un grupo claro de uno o ms valores de entrada

Un grupo claro de uno o ms valores resultantes que debern cambiar basado


en las entradas.

Paso a Paso: Crear escenarios


1. Abrir el archivo 1 Escenarios

2. Crear tres escenarios: Mejor Opcin, Caso Optimista y el Caso Pesimista.


3. Hacer clic en la ficha

38

AP. Formacin Online.

Microsoft Office Excel 2010

Hacer clic en el botn


anlisis Y si.

4. De las opciones presentadas elegir Administrador de escenarios


Hacer clic en el botn
Administrador de escenarios

5. Se presenta el cuadro de dilogo Administrador de escenarios

6. Hacer clic en el botn

Escriba Mejor
opcin

Seleccione el bloque
de celdas B15:B18

Hacer clic en el
botn Aceptar

7. Del cuadro de dilogo valores del escenario especifique segn la grfica


mostrada

AP. Formacin Online.

39

Microsoft Office Excel 2010

Valores del escenario


Mejor opcin

8. Hacer clic en el botn

para adicionar los escenarios restantes.

9. Se presenta el cuadro de dilogo Modificar escenario


Escriba caso optimista
como nombre de escenario

Escriba
B15:B18
celdas cambiantes

como

Del cuadro de dilogo valores del escenario especifique segn la grfica


mostrada
Hacer clic en el
botn Aceptar

Valores del escenario


Caso optimista

10. Hacer clic en el botn


40

para adicionar los escenarios restantes.


AP. Formacin Online.

Microsoft Office Excel 2010

Escriba caso Pesimista


como nombre de escenario

Escriba
B15:B18
celdas cambiantes

como

Hacer clic en el
botn Aceptar

11. Del cuadro de dilogo valores del escenario especifique segn la grfica
mostrada

Valores del escenario


Caso Pesimista

12. Hacer clic en el botn

para terminar

13. Se presenta el cuadro de dilogo administrador de escenarios.


14. Guardar el archivo

AP. Formacin Online.

41

Microsoft Office Excel 2010

Paso a Paso: Mostrar escenarios


1. Abrir el archivo 1 Escenarios
2. Hacer clic en la ficha

Hacer clic en el botn


anlisis Y si.

3. De las opciones presentadas elegir Administrador de escenarios


Hacer
clic
en
el
botn
Administrador de escenarios

4. Se presenta el cuadro de dilogo Administrador de escenarios


5. Seleccione el escenario a mostrar, luego hacer clic en el botn

Seleccione escenario a mostrar,


luego hacer clic en el botn

Paso a Paso: Modificar un Escenario


1. Abrir el archivo 1 Escenarios
2. Hacer clic en la ficha
42

AP. Formacin Online.

Microsoft Office Excel 2010

Hacer clic en el botn


anlisis Y si.

3. De las opciones presentadas elegir Administrador de escenarios


Hacer
clic
en
el
botn
Administrador de escenarios

4. Se presenta el cuadro de dilogo Administrador de escenarios


5. Seleccione el escenario a modificar, luego hacer clic en el botn
6. Se presenta el cuadro de dilogo Modificar escenario

7. Hacer clic en el botn


8. Se presenta el cuadro de dilogo Valores dele escenario

Escriba los nuevos valores


de su escenario

9. Hacer clic en el
AP. Formacin Online.

botn para terminar


43

Microsoft Office Excel 2010

Buscar Objetivo
En el caso de que conozca el resultado deseado de una frmula sencilla, pero no la
variable que determina el resultado, podr utilizar la funcin Buscar objetivo. Al
realizar una bsqueda de objetivo, Microsoft Excel vara el valor de celda
especfica hasta que una frmula dependiente de dicha celda devuelve el resultado
deseado.
Paso a Paso: Modificar un escenarios

1. Disear la siguiente hoja de clculo

En el ejemplo se muestra el calculo de pago de un prstamo en un periodo de


90 meses a una tasa de inters del 14%. Se utiliza la funcin =Pago
2. Hacer clic en la ficha

Hacer clic en el
botn anlisis Y si.

3. De las opciones presentadas elegir Buscar objetivo


Hacer clic en el botn
Buscar objetivo

4. Se presenta el cuadro de dilogo Buscar objetivo


Queremos conocer cunto de inters se debe pagar si queremos desembolsar
2200 mensual, para pagar los 50,000 del prstamo
Frmula que
calcula el pago
mensual

Valor que
queremos pagar
mensualmente

Valor a
localizar
44

AP. Formacin Online.

Microsoft Office Excel 2010

5. Hacer clic en el botn


objetivo.

6. Hacer clic en el botn

, se muestra el estado de la bsqueda de

, para terminar

Tabla de datos
Una tabla de datos es un rango de celdas que muestra cmo afecta el cambio de
algunos valores de las frmulas a los resultados de las mismas.
Las tablas de datos constituyen un mtodo abreviado para calcular varias
versiones en una sola operacin, as como una manera de ver y comparar los
resultados de todas las variaciones distintas en la hoja de clculo.

Tabla de datos de una variable


Entre uno de los mejores ejemplos de anlisis sensitivo, esta una tabla de datos
que calcula el pago de prstamo para diferentes tasas de inters.
La tabla de datos de ingreso simple descrita en esta seccin crea un cuadro de
pagos mensuales para una serie de tasas de inters.

Paso a Paso: Tabla de datos de una variable


1. Disear la siguiente hoja de clculo

Escribir los datos


segn se muestra

En el ejemplo se muestra el calculo de pago de un prstamo de 20,000 en un


periodo de 20 aos a una tasa de inters del 25%. Se utiliza la funcin =Pago

AP. Formacin Online.

45

Microsoft Office Excel 2010

2. Disear un cuadro que permita conocer cunto pagaremos si la tasa de inters


vara entre 26% y 35%.

Escriba esta frmula


=PAGO(B4/12;B5*12;B3)

Editar la tabla de tasa de


inters

3. Seleccionar el bloque de celdas A8:B18 (Tabla de inters)

Seleccionar
celdas A8:B18

46

AP. Formacin Online.

Microsoft Office Excel 2010

4. Hacer clic en la ficha

Hacer clic en el
botn anlisis Y si.

5. De las opciones presentadas elegir Buscar objetivo


Hacer clic en el botn
Tabla de datos

6. Se muestra el cuadro de dilogo tabla de datos


7. En el campo: Celda de entrada (Columna) escribir B4 que representa la tasa
de inters del cuadro de prstamo.

8. Hacer clic en el botn


resultado

para terminar, se debe mostrar el siguiente

Montos que se deben


pagar segn la tasa de
inters asociada

AP. Formacin Online.

47

Microsoft Office Excel 2010

Tablas de datos de dos variables


Continuando con nuestro ejemplo anterior, como resolveramos para analizar
cuanto pagaramos, segn un rango de tasas de inters y un rango de montos
prestados.

Paso a Paso: Tabla de datos de dos variable


1. Modificar su hoja como se muetsra en la grfica

Agregar el siguiente
cuadro a su hoja

2. Seleccionar el bloque de celdas A8:G18 (Matriz: inters - monto)


3. Hacer clic en la ficha

Hacer clic en el
botn anlisis Y si.

4. De las opciones presentadas elegir Buscar objetivo


Hacer clic en el botn
Tabla de datos

48

AP. Formacin Online.

Microsoft Office Excel 2010

5. Se muestra el cuadro de dilogo tabla de datos


6. En el campo: Celda de entrada (Columna) escribir B4 que representa la tasa
de inters del cuadro de prstamo. En el cuadro celda de entrada (fila) escribir
b3 que representa al monto prestado.
Monto prestado

Tasa de inters

7. Hacer clic en el botn


resultado

para terminar, se debe mostrar el siguiente

Montos prestados

Tasas
de
inters

Monto a pagar
mensual

Consolidacin de datos y Referencia 3D


Cuando consolidar datos de varias hojas
Cuando se tenga listas de datos con informacin semejante una de otra, pero escrita en
cuadros diferentes ya sea en la misma hoja o en hojas distintas, entonces se puede hacer
uso del men Datos/Consolidar. Esta opcin se utiliza para obtener diversos tipos de
clculo estadstico (suma, promedio, mximo, mnimo, varianza, etc.) en base a la
informacin guardada en todos estos cuadros.

AP. Formacin Online.

49

Microsoft Office Excel 2010

Si desea...

Entonces

Organizar los datos de todas las hoja de clculo en orden


y ubicacin idnticos.

Consolide por posicin

Organizar los datos de forma diferente en las hoja de


clculo independientes pero utilizar los mismos rtulos
de fila y de columna para que la hoja de clculo maestra
pueda hacer coincidir los datos.

Consolide por categoras

Utilizar frmulas con referencias de celdas o referencias


3D a otras hojas de clculo que est combinando porque
no tiene una posicin o categora coherente en la que
basarse.

Consolide por frmula

Consolide por frmula


En la hoja de clculo maestra, copie o escriba los rtulos de columna o fila que
desee para los datos de consolidacin.
a. Haga clic en la celda en que desea incluir los datos de consolidacin.
b. Escriba una frmula que incluya una referencia de celda a las celdas de
origen de cada hoja de clculo o una referencia 3D que contenga los
datos que desea consolidar. En cuanto a las referencias de celda, siga uno
de los procedimientos siguientes:
c. Si los datos que se van a consolidar estn en celdas diferentes de
otras hoja de clculo
d. Escriba una frmula con referencias de celda a las otras hojas de clculo,
una por cada hoja de clculo independiente.
Por ejemplo, para consolidar datos de hojas de clculo
denominadas Ventas (en la celda B4), HR (en la celda F5) y
Marketing (en la celda B9), en la celda A2 de la hoja de clculo
maestra, tendra que escribir lo siguiente:

e. Para especificar una referencia de celda como Ventas3!B4 en una


frmula sin escribir, escriba la frmula hasta el punto en el que necesite
la referencia, haga clic en la etiqueta de la hoja de clculo y, a
continuacin, haga clic en la celda.
f. Si los datos que se van a consolidar estn en las mismas celdas de
otras hojas de clculo
50

AP. Formacin Online.

Microsoft Office Excel 2010

g. Escriba una frmula con una referencia 3D que utilice una referencia a
un rango de nombres de hojas de clculo.
Por ejemplo, para consolidar datos en las celdas A2 desde Ventas hasta
Marketing inclusive, en la celda A2 de la hoja de clculo maestra tendra
que escribir lo siguiente:

Paso a Paso: Consolidacin de datos


1. Disear las siguientes 4 hojas de clculo o abrir el archivo CONSOLIDADO

AP. Formacin Online.

51

Microsoft Office Excel 2010

2. Se quiere consolidar las ventas de las sucursales de: Miraflores, Surco y San
Borja en la hoja de Totales.
3. Hacer clic en la ficha

4. Del cuadro de dilogo presentado realizar las siguientes acciones


Elegir la
funcin Suma

Adicionar estas tres


referencias y lic en
el botn Agregar.

Activar las casillas


de verificacin

La casilla de verificacin Crear vnculos con los datos de origen permiten que
la hoja de totales se actualice, cuando realice cambios en las hojas orgenes.

52

AP. Formacin Online.

Microsoft Office Excel 2010

5. Finalmente hacer clic en el botn


, se obtiene el siguiente
resultado. La consolidacin del as ventas de las tres sucursales.

Paso a Paso: Consolidacin de datos


1. Ingresar la informacin de acuerdo al diseo sugerido

AP. Formacin Online.

53

Microsoft Office Excel 2010

2. Cambiar el nombre de las hojas:


Hoja1 por BAL2005
Hoja2 por BAL2006
Hoja3 por BAL2007 y
Hoja4 por CONSOLIDADO.
Seleccionar el rea de valores numricos a consolidar y asignarle los
nombres de campo: TBAL2005, TBAL2006 y TBAL2007.
3. EN la hoja CONSOLIDADO, ubicarse en la celda C6.
4. Clic en la Ficha de Herramientas Datos; Comando Consolidar del Grupo
Herramienta de datos

El sistema mostrar la siguiente ventana del Comando Consolidar

5. Seleccionar la funcin a realizar: Suma


6. En Referencia agregar los tres nombres de campos creados sobre los valores
a Sumar de la hojas anteriormente creadas; digitar: TBAL2005 [Agregar],
TBAL2006 [Agregar], TBAL2007 [Agregar]
7. Activar la Casilla de verificacin de Crear Vnculos para que el consolidado
siempre este actualizado as se modifiquen los datos orgenes
8. Para ver el resultado, clic en Aceptar.
9. Observar que ha sucedido y comentar las dudas o sugerencias con el
instructor.
54

AP. Formacin Online.

Microsoft Office Excel 2010

Paso a Paso: Consolidacin por frmula


Podemos resolver el consolidado tambin de la
siguiente manera; por REFERENCIA 3D.
1. Crear una nueva hoja e ingresar la
informacin de acuerdo al diseo
sugerido en la Hoja5.
Crear una nueva hoja e ingresar la
informacin de acuerdo al diseo
sugerido en la Hoja5.
2. Cambiar el nombre de la Hoja5 por
CONS_FORMULAS.
3. Clic en la celda C6 y escribir la
siguiente frmula:
='BAL2005'!C6+'BAL2006'!C6+'BAL2007'!C6
o
=SUMA('BAL2005:BAL2007'!C6)
4. Luego copiar la frmula, hasta total de ingresos.
NOTAS
Al establecer frmulas los nombres de las hojas se especfica entre comillas y
luego un signo de admiracin, ejemplo:
'BAL2005'!C6 hace referencia a la celda C6 de la hoja BAL2005.
Al establecer frmulas tambin puede especificarlas como rango de hojas,
separndolos con dos puntos pero solamente especificando las comillas simples
al inicio y final del rango de hojas, luego un signo de admiracin que indica que
son nombres de hojas, ejemplo:
=SUMA('BAL2005:BAL2007'!C6) hace referencia a la celda C6 del rango de
hojas BAL2005 hasta BAL2007; esto quiere indicar a la suma del valor de las
celda C6 de las hojas BAL2005, BAL2006 y BAL2007.

Referencias 3D
Una referencia a la misma celda o al mismo rango (rango: dos o ms celdas de una hoja.
Las celdas de un rango pueden ser adyacentes o no adyacentes.) en varias hojas se
denomina referencia 3D. Una referencia 3D es un mtodo til y cmodo de hacer
referencia a varias hojas de clculo que siguen el mismo patrn y a las celdas de cada
hoja de clculo que contienen el mismo tipo de datos para, por ejemplo, consolidar los
datos presupuestarios de diferentes departamentos de la organizacin.

AP. Formacin Online.

55

Microsoft Office Excel 2010

Ejemplo 1
La Empresa Corp. Per desea realizar un consolidado de los ingresos y/o inversin de
las reas de ventas, marketing y recursos humanos.

PASOS
1.
2.
3.
4.
5.

Crear las hojas BAL5, BAL6 y BAL7 con el diseo sugerido.


Crear la hoja CONSOLIDADO con el diseo sugerido.
Especificar la frmula de referencia 3D en la celda C6
=SUMA('BAL5:BAL7'!C6)
Luego copiar la frmula y observar que ha sucedido.

NOTAS
Al establecer frmulas referencias 3D debe especificarlas separndolos con dos
puntos pero solamente especificando las comillas simples al inicio y final del
rango de hojas, luego un signo de admiracin que indica que son nombres de
hojas, posteriormente se indica la celda a operar; ejemplo:
56

AP. Formacin Online.

Microsoft Office Excel 2010

=SUMA('BAL5:BAL7'!C6) hace referencia a la celda C6 del rango de hojas


BAL5 hasta BAL7; esto quiere indicar a la suma del valor de las celda C6 de las
hojas BAL5, BAL6 y BAL7.
Puede utilizar las siguientes funciones en una referencia 3D:
Funcin

Descripcin

SUMA

Suma nmeros.

PROMEDIO

Calcula el promedio (media aritmtica) de nmeros.

PROMEDIOA

Calcula el promedio (media aritmtica) de nmeros; incluye


valores de texto y lgicos.

CONTAR

Cuenta celdas que contienen nmeros.

CONTARA

Cuenta las celdas que no estn vacas.

MAX

Busca el valor mayor de un conjunto de valores.

MAXA

Busca el valor mayor de un conjunto de valores; incluye valores


de texto y lgicos.

MIN

Busca el valor menor de un conjunto de valores.

MINA

Busca el valor menor de un conjunto de valores; incluye valores


de texto y lgicos.

PRODUCTO

Multiplica nmeros.

DESVEST

Calcula la desviacin estndar de una muestra.

DESVESTA

Calcula la desviacin estndar de una muestra; incluye valores de


texto y lgicos.

DESVESTP

Calcula la desviacin estndar de una poblacin.

DESVESTPA

Calcula la desviacin estndar de una poblacin; incluye valores


de texto y lgicos.

VAR

Calcula la varianza de una muestra.

VARA

Calcula la varianza de una muestra; incluye valores de texto y


lgicos.

VARP

Calcula la varianza de una poblacin.

VARPA

Calcula la varianza de una poblacin; incluye valores de texto y


lgicos.

AP. Formacin Online.

57

Microsoft Office Excel 2010

Cuestionarios
1. Si tienen una base de datos con n registros duplicados ubicados en diferentes
lugares, cmo los eliminara.
______________________________________________________________
______________________________________________________________
2. Si desea ingresar datos en un campo que solo permita de acuerdo a un formato
preestablecido, cmo lo hara.
______________________________________________________________
______________________________________________________________
3. Cul es la diferencia entre 3D y Consolidacin de datos.
______________________________________________________________
______________________________________________________________
4. Cul es la utilidad del administrador de escenarios.
______________________________________________________________
______________________________________________________________
5. Cul es la utilidad de buscar objetivo.
______________________________________________________________
______________________________________________________________

58

AP. Formacin Online.

Captulo

Funciones Financieras
En este captulo trataremos:
Generalidades sobre Excel en el mundo de los
negocios
Uso de funciones financieras
Desarrollo de proyectos con funciones financieras

AP. Formacin Online.

59

Microsoft Office Excel 2010

Generalidades sobre Excel en el mundo de los negocios


Actualmente no hay ejecutivo que no utilice la hoja de clculo Microsoft Excel, la cual
es una herramienta muy til para llevar disear modelos de clculo: Administrativos, de
control, contables, financieros, estadsticos, econmicos, matemticos, ingeniera, etc.

Uso de funciones financieras


A continuacin se desarrollarn temas financieros con Excel, puntualmente se vern las
siguientes funciones: PAGO, VA, VF, NPER, TASA, TIR

Consideraciones del ndice de inflacin


La inflacin se refiere a un aumento prolongado de todos los precios en la economa, el
cual afecta el nivel general de precios de manera permanente.
Si maana cae un huayco en la sierra central, paraliza el transporte y debido a eso suben
los precios de los alimentos, no podemos decir que se trate de un proceso inflacionario:
este aumento de precios no sera generalizado, ni tampoco tendra carcter de un
proceso prolongado que afecta el nivel general de precios
La tasa de inflacin depende mucho del ndice de precios que se emplea para calcularla,
as como del perodo de referencia.
El ndice ms empleado es el del precio al consumidor, mide el costo de la canasta de
bienes finales que consume la familia promedio
Otra tcnica de clculo es utilizando el ndice de precios al por mayor o el deflactor
implcito del PBI.
El deflactor implcito del PBI mide el costo promedio de los bienes de consumo
privado y pblico, los bienes de inversin y de los bienes que se importan y/o exportan.
Mide el costo en el ltimo mes del ao en cuestin

Inflacin Peruana utilizando El deflactor implcito del PBI


1988 629%
1989 2537%
1990 6135%
Los ndices Latinoamericanos son los ms altos que se han alcanzado en el mundo
durante toda la segunda mitad del siglo XX.

Hiperinflacin.
Phillip Cagan lo defini como el proceso que comienza en aquel mes donde el alza de
los precios excede el 50% , y concluye en el mes previo en que el alza mensual de los
precios cae debajo de este nivel y permanece por debajo al menos durante un ao.
Inflacin anual de ms de 12000%.
60

AP. Formacin Online.

Microsoft Office Excel 2010

Si aplicamos la definicin de Cagan al caso peruano, tendramos que la


hiperinflacin comenz en septiembre de 1988 y concluy en agosto de 1990.
Durante 24 meses que dur este proceso hiperinflacionario, la inflacin
acumulada fue de 3.38x105 (338,000%) y la inflacin mensual promedio fue de
46%

Causas de la inflacin
Existen diferentes explicaciones sobre las causas de la inflacin. De hecho parece
que existen diversos tipos de procesos econmicos diferentes que producen
inflacin, y esa es una de las causas por las cuales existen diversas explicaciones:
cada explicacin trata de dar cuenta de un proceso generador de inflacin
diferente, aunque no existe una teora unificada que integre todos los procesos. De
hecho se han sealado que existen al menos tres tipos de inflacin:
Inflacin de demanda (Demand pull inflation), cuando la demanda
general de bienes se incrementa, sin que el sector productivo haya tenido
tiempo de adaptar la cantidad de bienes producidos a la demanda existente.
Inflacin de costos (Cost push inflation), cuando el coste de la mano de
obra o las materias primas se encarece, y en un intento de mantener la tasa
de beneficio los productores incrementan los precios.
Inflacin autoconstruida (Build-in inflation), ligada al hecho de que los
agentes prevn aumentos futuros de precios y ajustan su conducta actual a
esa previsin futura.
Como se mide
ndice de precios al consumidor (IPC): diseado para registrar las variaciones en
el poder adquisitivo del promedio de la poblacin (sobre la base de una canasta de
productos de consumo representativa).
ndice Laspeyres (ponderado en el ao base)

ndice Paasche (ponderado en el ao corriente)

En ambos casos aislamos el efecto de las cantidades ya que nos interesa el cambio
en precios.

AP. Formacin Online.

61

Microsoft Office Excel 2010

IPC: ndice Laspeyres o Paasche?

Extrado del documento publicado por el profesor: Juan F. Castro del Departamento de
Economa de la Universidad del Pacfico

Tasa nominal
Conocida tambin como tanto por uno o simplemente como tasa de inters, es la
ganancia que genera un capital de $1 en un ao; o sea, es igual a la centsima
parte de la razn o tanto por ciento (ganancia producida por un capital de $100 en
un ao).
Generalizando, cuando el tiempo n y el perodo en que est expresada la tasa i
coinciden con la capitalizacin, se dice que la tasa i es nominal.

Paso a Paso: Convertir de tasa efectiva a tasa nominal

1. Dado una tasa nominal, tiempo de capitalizacin y tasa nominal mensual,


calcular la tasa efectiva.

62

AP. Formacin Online.

Microsoft Office Excel 2010

Tasa efectiva (i)


Es el tanto por uno que, aplicado a un capital C en n perodos, produce un monto
M2 igual al que se obtiene utilizando la tasa proporcional m veces en cada uno de
los n perodos con capitalizacin subperidica.
Aparece en la frmula de monto M2 = C (1 + i) n, de modo que M2 = M3.
Partiendo de esta ltima igualdad, podemos expresar la tasa efectiva en funcin de
la tasa proporcional:
M2 = M3
C (1 + i) n = C (1 + i/m) n m
1 + i = (1 + i/m) m (Simplificamos C y n.)
i = (1 + i/m) m 1 (Despejamos i.)

Paso a Paso: Convertir de tasa nominal a tasa efectiva

1. Disear el siguiente cuadro

AP. Formacin Online.

63

Microsoft Office Excel 2010

Paso a Paso: Conversin de tasa nominal a tasa efectiva


1. Editar y desarrollar la siguiente hoja.

= (1 + ($B$4/B9)) ^ B9 -1

= (1 + ($B$4/B8)) ^ B8 -1

Prstamo de un banco: Funcin PAGO


La funcin PAGO devuelve el importe de la renta constante vencida o anticipada
en una anualidad simple, en funcin de su valor presente o futuro
Sintaxis

PAGO(tasa;nper;va;vf;tipo)
Argumentos
Tasa. Es el tipo de inters del prstamo.
Nper. Es el nmero total de pagos del prstamo. La Tasa y Nper deben
expresarse en la misma unidad de tiempo (Ambas trimestrales, anuales,
etc.)
Va. Es el valor actual o lo que vale ahora la cantidad total de una serie de
pagos futuros, tambin se conoce como el principal.
64

AP. Formacin Online.

Microsoft Office Excel 2010

Vf. Es el valor futuro o un saldo en efectivo que desea lograr despus de


efectuar el ltimo pago. Si el argumento vf se omite, se asume que el
valor es 0 (es decir, el valor futuro de un prstamo es 0).
Si utiliza el argumento opcional Vf sin considerar valor alguno en el
argumento obligatorio Va, la funcin PAGO obtiene la renta constante en
funcin de ese valor futuro que nos permite constituir un fondo de
amortizacin cuyo monto es el importe de Vf.
Si utiliza conjuntamente el argumento obligatorio Va y el argumento
opcional Vf la funcin PAGO trae al momento 0 el importe de Vf, lo
resta del importe de Va y sobre este saldo le calcula la cuota constante
vencida o anticipada.
Tipo. Es el nmero 0 (cero) 1. Indica el vencimiento de los pagos.
Defina tipo como

Si los pagos vencen

0 u omitido

Al final del perodo (Rentas vencidas)

Al inicio del perodo (Rentas anticipadas)

Frmulas financieras
Renta

En funcin de P

En funcin de S

Vencida

Anticipada

Paso a Paso: Prstamo de banco (Amortizacin)


1. Utilizar la funcin pago para desarrollar una tabla de amortizacin de un
prstamo utilizando el mtodo francs (Pago de cuotas iguales). Usar la
funcin PAGO.
2. Desarrollaremos el siguiente caso: Se tiene un prstamo de $50,000. Por el
cual se cobrar una tasa de 30% anual. Durante 12 aos. Se pide calcular la
cuota constante que debe pagar para cancelar el prstamo.
Tasa 30%
Va=50,000

AP. Formacin Online.

Pago?

Pago?

Pago?

Pago?

nper=12

65

Microsoft Office Excel 2010

3. Disear el siguiente cuadro

Se considera como
negativo por ser un
desembolso

4. Se debe obtener como resultado el siguiente cuadro

66

AP. Formacin Online.

Microsoft Office Excel 2010

Paso a Paso: Costo equivalente


1. Cul es el costo equivalente anual de una mquina cuyo precio es de $50,000
su vida til est estimada en 5 aos, su valor de salvamento al final de la vida
til es de $ 10,000. La tasa de inters es de 12%.
Vf = 10,000
Tasa 12%
Va=50,000

Pago?

Pago?

Pago?

Pago?

nper=5

2. Disear el siguiente cuadro.

Paso a Paso: Prstamo de banco (Amortizacin)


1. Se tiene un prstamo de $ 10000 el cual debe cancelarse en el plazo de un ao
con cuotas uniformes trimestrales aplicando una tasa del 15%. Calcular el
importe de la cuota en el caso que sea vencida y en el caos de que sea
anticipada. Desarrollar sus tablas de amortizacin
2. Disear el siguiente cuadro

3. El resultado queda como se muestra en la siguiente hoja de clculo


AP. Formacin Online.

67

Microsoft Office Excel 2010

Valor presente de la inversin/pagos futuros: Funcin VA


Uno de los indicadores ms importantes y utilizados en la evaluacin de
inversiones es el Valor Actual VA.
La funcin VA devuelve el valor actual de una inversin. El valor actual es el
valor que tiene actualmente la suma de una serie de pagos que se efectuarn en el
futuro. Por ejemplo, cuando toma dinero prestado, la cantidad del prstamo es el
valor actual para el prestamista.
Sintaxis

VA(tasa; nper; pago; vf; tipo)


Argumentos
Tasa
Es la tasa de inters por perodo. Por ejemplo, si obtiene un prstamo
para una motocicleta con una tasa de inters anual del 10% y efecta
pagos mensuales, la tasa de inters mensual ser del 10%/12 0,83%. En
la frmula escribira 10%/12, 0,83% 0,0083 como tasa.
Nper
Es el nmero total de perodos en una anualidad. Por ejemplo, si obtiene
un prstamo a cuatro aos para comprar un automvil y efecta pagos
mensuales, el prstamo tendr 4*12 ( 48) perodos. La frmula tendr
48 como argumento nper.
Pago
Es el pago que se efecta en cada perodo y que no cambia durante la
vida de la anualidad. Por lo general, el argumento pago incluye el capital
y el inters pero no incluye ningn otro cargo o impuesto. Por ejemplo,
los pagos mensuales sobre un prstamo de $10.000 a cuatro aos con una
68

AP. Formacin Online.

Microsoft Office Excel 2010

tasa de inters del 12% para la compra de una motocicleta, son de


$263,33. En la frmula escribira -263,33 como el argumento pago.
Vf
Es el valor futuro o el saldo en efectivo que desea lograr despus de
efectuar el ltimo pago. Si el argumento vf se omite, se asume que el
valor es 0 (por ejemplo, el valor futuro de un prstamo es 0). Si desea
ahorrar $50.000 para pagar un proyecto especial en 18 aos, $50.000
sera el valor futuro. De esta forma, es posible hacer una estimacin
conservadora a cierta tasa de inters y determinar la cantidad que deber
ahorrar cada mes.
Tipo
Es el nmero 0 1 e indica el vencimiento de los pagos.
Defina tipo como

Si los pagos vencen

0 u omitido

Al final del perodo (Rentas vencidas)

Al inicio del perodo (Rentas anticipadas)

Frmulas financieras

Flujo Vencido

Flujo Anticipados

Paso a Paso: Calculo del Valor actual


1. Calcular el valor actual de una renta de S/. 1000 anuales durante 10 aos, si la

tasa de inters es de 5% efectivo anual.

1000
0

1000
2

1000
.

1000
8

1000
9

1000
10

P=?

AP. Formacin Online.

69

Microsoft Office Excel 2010


2. Disear el siguiente cuadro

3. El resultado queda como se muestra en la siguiente hoja de clculo

Valor futuro de la inversin: Funcin VF


Devuelve el valor futuro de una inversin basndose en pagos peridicos
constantes y en una tasa de inters constante.
70

AP. Formacin Online.

Microsoft Office Excel 2010

Sintaxis

VF(tasa; nper; pago; va; tipo)


Argumentos
Tasa
Es la tasa de inters por perodo. Por ejemplo, si obtiene un prstamo
para una motocicleta con una tasa de inters anual del 10% y efecta
pagos mensuales, la tasa de inters mensual ser del 10%/12 0,83%. En
la frmula escribira 10%/12, 0,83% 0,0083 como tasa.
Nper
Es el nmero total de perodos en una anualidad. Por ejemplo, si obtiene
un prstamo a cuatro aos para comprar un automvil y efecta pagos
mensuales, el prstamo tendr 4*12 ( 48) perodos. La frmula tendr
48 como argumento nper.
Pago
Es el pago que se efecta en cada perodo y que no cambia durante la
vida de la anualidad. Por lo general, el argumento pago incluye el capital
y el inters pero no incluye ningn otro cargo o impuesto. Por ejemplo,
los pagos mensuales sobre un prstamo de $10.000 a cuatro aos con una
tasa de inters del 12% para la compra de una motocicleta, son de
$263,33. En la frmula escribira -263,33 como el argumento pago.
Va
Es el valor actual de la cantidad total de una serie de pagos futuros. Si el
argumento va se omite, se considerar 0.
Tipo
Es el nmero 0 1 e indica el vencimiento de los pagos.
Defina tipo como

Si los pagos vencen

0 u omitido

Al final del perodo (Rentas vencidas)

Al inicio del perodo (Rentas anticipadas)

Paso a Paso: Calcular VF


1. Se quiere ahorrar un dinero para un proyecto especial que tendr lugar dentro de un
ao a partir de la fecha de hoy, para lo cual se cuenta con los siguientes datos:

AP. Formacin Online.

Depositaremos $15000 en una cuenta de ahorros que devenga un inters


anual de 6%, que se capitaliza mensualmente (inters mensual de
6%/12 sea 0.5%)

71

Microsoft Office Excel 2010

Se depositar $1500 el primer da de cada mes durante los prximos 12


meses

2. Cunto dinero tendr en su cuenta al final de los 12 meses


3. Disear la siguiente hoja de clculo

4. El resultado queda como se muestra en la siguiente hoja de clculo

72

AP. Formacin Online.

Microsoft Office Excel 2010

Nmero de pagos de inversin: Nper


Devuelve el nmero de rentas constantes vencidas o anticipadas, que forman una
anualidad simple, en funcin de un stock de efectivo: inicial o final, en la que la
tasa de inters efectiva no vara durante el plazo de la operacin.
Nper en funcin del valor actual calcula el nmero de rentas con las que puede
amortizarse totalmente un prstamo
Nper en funcin del valor futuro calcula el nmero de rentas con las que se puede
constituir un fondo de amortizacin

Paso a Paso: Nper en funcin del valor presente, con renta constante
vencida
1. Nper en funcin del valor presente puede calcularse conociendo el importe de
la renta constante vencida, o de la renta constante anticipada, que amortiza el
prstamo.
2. Con cuntas cuotas trimestrales vencidas, pueden cancelarse un prstamo de
$ 9,000 el mismo que devenga una tasa efectiva trimestral del 5% y se
amortizar con pagos uniformes de $ 2500 cada 90 das.
Va=9000
Nper=?
Tasa=5%

tasa=5%

pago= -2500

pago= -2500

tasa5%
pago= -2500

3. Disear la siguiente hoja

AP. Formacin Online.

73

Microsoft Office Excel 2010

Paso a Paso: Nper en funcin del valor presente, con renta constante
anticipada
1. Nper en funcin del valor presente puede calcularse conociendo el importe de
la renta constante vencida, o de la renta constante anticipada, que amortiza el
prstamo.
2. Con cuntas cuotas trimestrales anticipadas, pueden cancelarse un prstamo
de $ 9,000 el mismo que devenga una tasa efectiva trimestral del 5% y se
amortizar con pagos uniformes de $ 2500 cada 90 das.
Va=9500
Nper=?
Tasa=5%

tasa=5%

pago= -2500

tasa5%

pago= -2500

pago= -2500

3. Disear la siguiente hoja

Paso a Paso: Nper en funcin del valor futuro


1. Nper en funcin del valor futuro puede calcularse conociendo el importe de la
renta constante vencida o de renta constante anticipada, que acumula un
fondo de amortizacin.
2. Cuntos depsitos mensuales vencidos de $500, sern necesarios ahorrar en
un banco que paga una tasa del 24% con capitalizacin mensual, para
acumular un monto de $ 5474.86
74

AP. Formacin Online.

Microsoft Office Excel 2010

Va=9500
Nper=?
Tasa=5%

tasa=5%

pago= -2500

tasa5%

pago= -2500

pago= -2500

3. Disear la siguiente hoja

Funcin TASA
Devuelve la tasa de inters por perodo de una anualidad. TASA se calcula por
iteracin y puede tener cero o ms soluciones. Si los resultados consecutivos de
TASA no convergen en 0,0000001 despus de 20 iteraciones, TASA devuelve el
valor de error #NUM!
Sintaxis: TASA(nper; pago; va; vf; tipo; estimar)

Argumentos
Nper
Es el nmero total de perodos de pago en una anualidad.
Pago
Es el pago que se efecta en cada perodo y que no puede cambiar
durante la vida de la anualidad. Generalmente el argumento pago incluye
el capital y el inters, pero no incluye ningn otro arancel o impuesto.
Va
Es el valor actual de la cantidad total de una serie de pagos futuros.
Vf
Es el valor futuro o un saldo en efectivo que desea lograr despus de
efectuar el ltimo pago. Si el argumento vf se omite, se asume que el
valor es 0 (por ejemplo, el valor futuro de un prstamo es 0).

AP. Formacin Online.

75

Microsoft Office Excel 2010

Tipo
Es el nmero 0 1 e indica el vencimiento de los pagos.
Defina tipo como

Si los pagos vencen

0 u omitido

Al final del perodo (Rentas vencidas)

Al inicio del perodo (Rentas anticipadas)

Estimar
Es la estimacin de la tasa de inters.
Si el argumento estimar se omite, se supone que es 10%.
Si TASA no converge, trate de usar diferentes valores para el argumento
estimar. TASA generalmente converge si el argumento estimar se
encuentra entre 0 y 1.

Paso a Paso: Uso de la funcin Tasa


1.

Calcular la tasa de un prstamo de $8000 a cuatro aos con pagos mensuales de $200

Tasa interna de retorno (TIR)


Devuelve la tasa interna de retorno de una inversin, sin costos de financiacin o
las ganancias por reinversin representadas por los nmeros del argumento
valores.
Estos flujos de caja no tienen por qu ser constantes, como es el caso en una
anualidad. La tasa interna de retorno equivale a la tasa de inters producida por un
proyecto de inversin con pagos (valores negativos) e ingresos (valores positivos)
que ocurren en perodos regulares.
Sintaxis
TIR(valores; estimar)

76

AP. Formacin Online.

Microsoft Office Excel 2010

Argumentos
Valores
Es una matriz o referencia a celdas que contengan los nmeros para los
cuales se desea calcular la tasa interna de retorno.
El argumento valores debe contener al menos un valor positivo y uno
negativo para calcular la tasa interna de retorno.
TIR interpreta el orden de los flujos de caja siguiendo el orden del
argumento valores. Asegrese de introducir los valores de los pagos e
ingresos en el orden correcto.
Si un argumento matricial o de referencia contiene texto, valores lgicos
o celdas vacas, esos valores se ignoran.
Estimar
El un nmero que el usuario estima que se aproximar al resultado de
TIR.
Microsoft Excel utiliza una tcnica iterativa para el clculo de TIR.
Comenzando con el argumento estimar, TIR reitera el clculo hasta que
el resultado obtenido tenga una exactitud de 0,00001%. Si TIR no llega a
un resultado despus de 20 intentos, devuelve el valor de error #NUM!
En la mayora de los casos no necesita proporcionar el argumento estimar
para el clculo de TIR. Si se omite el argumento estimar, se supondr que
es 0,1 (10%).
Si TIR devuelve el valor de error #NUM!, o si el valor no se aproxima a
su estimacin, realice un nuevo intento con un valor diferente de estimar.

Paso a Paso: Calcular TIR


1. Supongamos que desea abrir un restaurante. El costo estimado para la inversin
inicial es de $70.000, esperndose el siguiente ingreso neto para los primeros
cinco aos: $12.000; $15.000; $18.000; $21.000 y $26.000.
2. Calcular la tasa interna de retorno de su inversin despus de 2, 3, 4 y 5 aos.

AP. Formacin Online.

77

Microsoft Office Excel 2010

Desarrollo de proyectos con funciones financieras


Comprar frente a un leasing
El leasing es una forma de financiamiento de activos. Tener en cuenta la siguiente
frase: Para generar utilidades, no es necesario ser propietario del activo fijo,
basta ser un usuario
-

El arrendamiento puede ser operativo o financiero

El arrendamiento operativo, nunca le har dueo del activo

El arrendamiento financiero, si le har dueo del activo, a su solicitud y


tiene la preferencia de compra, cuando termine de pagar la ltima cuota

Actores que participan en el Leasing


Financiador (Compra el activo)

Proveedor
del activo

Usuario
del activo

Como se gestiona
-

El futuro usuario, busca al proveedor del activo que necesita solicitando


cotizaciones

Una vez elegido el proveedor se dirige a la entidad financiera de Leasing


llevndole la informacin

La sociedad de Leasing, compra el activo y se lo alquila al cliente


usuario

Algunas diferencias entre comprar y alquilar


El prstamo (COMPRAR)
No financia el 100% de la inversin

El Leasing (ALQUILAR)
Si financia el 100% de la inversin

El estudio del prstamo demora varios La maquinaria se dispone a las 24


meses
horas
78

AP. Formacin Online.

Microsoft Office Excel 2010

El empresario es dueo del activo El empresario podra ser dueo, al final


desde el inicio
de plazo
El empresario es el propietario y puede El financiador es el propietario. No el
depreciar
empresario
Comprando o alquilando tenemos que efectuar un flujo de pagos, si comparamos
que flujo de pagos es ms barato podramos saber que es ms conveniente
comprar o alquilar
Debemos tener en cuenta que al comprar un activo, es para hacerlo producir y
obtener utilidades, el estado cobra impuestos y ello representa un costo.
La ventaja relativa del financiamiento mediante Leasing, o mediante prstamo,
depender de los flujos de fondos derivados de cada uno de ambos mtodos, y del
costo de oportunidad de los fondos, despus de impuestos (Van Horne).
Evaluacin por ingresos netos
Permite ver panormicamente las diferencias en el estado de resultados de ambas
formas de financiamiento
Consideraciones
-

El leasing, no afecta el pasivo del balance, por cuanto no es un prstamo,


tampoco afecta el activo del balance, el empresario no es dueo del bien

Con prstamo, usted es propietario y puede depreciar

Con leasing, no puede depreciar. El propietario es el financiador

Con prstamo, los intereses van antes de impuestos y, las amortizaciones


despus de impuestos

Con leasing, hay una sola cuota que ntegramente va a costos, antes de
impuestos

Paso a Paso: Evaluacin por ingresos netos


1. Se quiere adquirir una mquina que cuesta $5000 y tiene una vida til de 2 aos.
Tasa para leasing 18 %, tasa para prstamo 25%
2. Alternativa con leasing

AP. Formacin Online.

79

Microsoft Office Excel 2010

3. Alternativa con prstamo

Inters = Tasa*Saldo actual


Saldo = saldo ant. Amort.

=F10*$F$4

=F10-H10
Amort = Cuota - inters

=I10-G10

=$F$6

4. Desarrollando el flujo de fondos

80

AP. Formacin Online.

Microsoft Office Excel 2010

5. Calculando el valor presente, elegir el que tiene mayor valor presente.

Evaluacin por costos netos


Consta de tres pasos.
-

Preparar el flujo de pagos con Leasing, despus de impuestos

Preparar el flujo de pagos con prstamos, despus de impuestos

Hallar el valor presente de ambos flujos, al costo del capital despus


de impuestos y, elegir la alternativa de menor costo

Paso a Paso: Evaluacin por costos netos


1. Se quiere adquirir una mquina que cuesta $5000 y tiene una vida til de 2 aos.
Tasa para leasing 18 %, tasa para prstamo 25%
Tasa de evaluacin para calcular el valor presente 10%.

AP. Formacin Online.

81

Microsoft Office Excel 2010

Calcular la tasa interna de devolucin para un flujo de liquidez no


peridico
Funcin TIR.NO.PER
Devuelve la TIR de un proyecto cuyos flujos de caja netos son de diferentes
magnitudes, estn distribuidos en plazos diferentes, se puede considerar flujo
positivo o negativo.
Sintaxis
TIR.NO.PER(valores;fechas;estimar)
Valores
Es una serie de flujos de caja que corresponde a un calendario de pagos
determinado por el argumento fechas. El primer pago es opcional y
corresponde al costo o pago en que se incurre al principio de la inversin.
Si el primer valor es un costo o un pago, debe ser un valor negativo.
Todos los pagos sucesivos se descuentan basndose en un ao de 365
das. La serie de valores debe incluir al menos un valor positivo y un
valor negativo.
Fechas
Es un calendario de fechas de pago que corresponde a los pagos del flujo
de caja. La primera fecha de pago indica el principio del calendario de
pagos. El resto de las fechas deben ser posteriores a sta, pero pueden
aparecer en cualquier orden. Las fechas deben especificarse utilizando la
funcin FECHA o como resultado de otras frmulas o funciones. Por
ejemplo, utilice FECHA(2008;5;23) para el 23 de mayo de 2008. Pueden
producirse problemas si las fechas se escriben como texto.
Estimar
Es un nmero que el usuario estima que se aproximar al resultado de
TIR.NO.PER.
82

AP. Formacin Online.

Microsoft Office Excel 2010

Paso a Paso: TIR no peridica


1. Un proyecto cuya inversin inicial es de 120,000 inicia el 26 de mayo del 2009,
puede generar flujos de caja que se proyectan en la tabla siguiente.

Se quiere calcular la TIR del proyecto para tomar una decisin de aceptacin o
rechazo considerando que el coste de oportunidad del capital anual es de 15%.
Disear la siguiente hoja de clculo

Calcular la tasa interna de devoluciones mltiples


Devuelve la tasa interna de retorno modificada para una serie de flujos de caja
peridicos. TIRM toma en cuenta el costo de la inversin y el inters obtenido por
la reinversin del dinero.
Sintaxis:
TIRM(valores;tasa_financiamiento;tasa_reinversin)
Valores
Es una serie de pagos (valores negativos) e ingresos (valores positivos)
que se realizan en perodos regulares.
El argumento valores debe contener por lo menos un valor positivo y uno
negativo para poder calcular la tasa interna de retorno modificada. De lo
contrario, TIRM devuelve el valor de error #DIV/0!
Tasa_financiamiento
Es la tasa de inters que se paga por el dinero utilizado en los flujos de
caja.
AP. Formacin Online.

83

Microsoft Office Excel 2010

Tasa_reinversin
Es la tasa de inters obtenida por los flujos de caja a medida que se
reinvierten.
Si n es el nmero de flujos de caja en valores, tasaf es la
tasa_financiamiento y tasar es la tasa_reinversin, la frmula de TIRM
es:

Paso a Paso: TIRM


Un proyecto cuya inversin inicial es de 120,000, y se tiene flujos de 39000, 30000,
21000, 37000, 46000 cada ao.
La tasa de inters del prstamo es de 10%
La tasa de inters anual de los beneficios reinvertidos es de 12%
Calcular TIRM

84

AP. Formacin Online.

Microsoft Office Excel 2010

Cuestionarios
1. Cul es la diferencia entre un inters simple y un inters compuesto.
______________________________________________________________
______________________________________________________________
2. Cul es la diferencia entre valor presente y valor futuro.
______________________________________________________________
______________________________________________________________
3. Para que sirve la funcin TIR.
______________________________________________________________
______________________________________________________________
4. Cul es la diferencia entre activo y pasivo.
______________________________________________________________
______________________________________________________________
5. Qu es un Leasing.
______________________________________________________________
______________________________________________________________

AP. Formacin Online.

85

Captulo

Anlisis de datos III


En este captulo trataremos:
Herramientas de anlisis estadstico
Uso de cuadros de histogramas
Uso de Solver

AP. Formacin Online.

86

Microsoft Office Excel 2010

Herramientas de Anlisis Estadstico


Excel presenta un conjunto de herramientas para proyectar resultados de ingresos,
gastos de su negocio. A continuacin se describe el uso de estas herramientas.

Tendencia lineal de ajuste perfecto automticamente


En una serie lineal, el incremento, o diferencia entre el primer valor de la serie y
el siguiente, se agrega al valor inicial y, a continuacin, a cada uno de los valores
siguientes.
Paso a Paso: Tendencia lineal de ajuste perfecto

1. La empresa Productos Agrcolas SAC desea proyectar sus ventas del ltimo
semestre del ao, para ello nos presenta la informacin de ventas de los seis
primeros meses.

2. Utilizaremos el procedimiento para proyectar la tendencia lineal

a. Seleccionar el bloque de
celdas A4:B9

b. Sealar con su mouse


este cuadradito y
arrastrar con el botn
derecho del mouse
hasta la fila 15, luego
soltar el mouse
AP. Formacin Online.

c. Del men
contextual
presentado
elegir La
opcin
Tendencia
lineal

87

Microsoft Office Excel 2010

3. Se debe mostrar como resultado el siguiente cuadro

Ventas del
primer
semestre

Ventas
proyectadas con
tendencia lineal
automtica, para el
ltimo semestre

Tendencia geomtrica de forma automtica


En una serie geomtrica, el valor inicial se multiplica por el incremento para
obtener el siguiente valor en la serie. El resultado y los siguientes resultados se
multiplican a continuacin por el incremento.

Paso a Paso: Tendencia geomtrica de forma automtica


1. Utilizando el cuadro anterior, pero esta vez proyectar con tendencia geomtrica.
b. Seleccionar el bloque
de celdas B4:B9

b. Arrastrar con el
botn derecho del
mouse hasta la
fila
15,
luego
soltar el mouse

88

c. Del men
contextual
presentado
elegir La
opcin
Tendencia
geomtrica

AP. Formacin Online.

Microsoft Office Excel 2010

2. Se presentar como resultado el siguiente cuadro

Ventas del
primer
semestre

Ventas proyectadas
con tendencia
geomtrica, para el
ltimo semestre

Tendencia lineal o geomtrica de forma manual


En una serie lineal, los valores iniciales se aplican al algoritmo de tendencia lineal
(y = mx+b) para generar la serie.
En una serie geomtrica, los valores iniciales se aplican al algoritmo de curva
exponencial (y=b*m^x) para generar la serie.
En ambos casos, se omite el incremento. La serie creada es equivalente a los
valores devueltos por las funciones TENDENCIA o CRECIMIENTO.
Paso a Paso: Tendencia lineal o geomtrica de forma manual

1. Disear el siguiente cuadro


a. Arrastre
este
recuadro
pequeo con el botn
derecho del mouse, hasta
la celda B9. Y suelte el
mouse

b. Hacer clic sobre la opcin


Series

AP. Formacin Online.

89

Microsoft Office Excel 2010

2. Se presenta el siguiente cuadro de dilogo.


Seleccione tipo
de tendencia:
Lineal o
geomtrica

Elegir
columna,
para que la
serie se
extienda
hacia abajo

3. Hacer clic en el botn

Active la casilla
Tendencia

para terminar

Se genera la
tendencia
reemplazando a
los tres primeros
valores e la serie
original

Agregar una lnea de tendencia a un grfico


Las lneas de tendencia se utilizan para el estudio de problemas de prediccin, lo
que se denomina tambin anlisis de regresin. En un grfico si tiene los datos de
ventas de los primeros meses del ao, puede agregar una lnea de tendencia al
grfico que muestre la tendencia general de las ventas (creciente, decreciente o
uniforme) o que muestre la tendencia prevista para los meses venideros.
Media mvil.
Se puede crear una media mvil, que suaviza las fluctuaciones en los datos y
muestra la trama o tendencia con ms claridad.
Tipos de grfico que admiten lneas de tendencias
Pueden agregarse lneas de tendencia a las series de datos en los siguientes
grficos:
90

AP. Formacin Online.

Microsoft Office Excel 2010


reas 2D no apiladas

Barras
Columnas
Lneas
Cotizaciones
Tipo XY (Dispersin), y
Burbujas.
No pueden agregarse lneas de tendencia a las series de datos en los grficos 3D,
radiales, circulares, de superficie o de anillos.
Si se cambia un grfico o una serie de datos de modo que ya no permita la lnea de
tendencia asociada (por ejemplo, si se cambia el tipo de grfico por un grfico de
reas 3D o si se cambia la vista de un informe de grfico dinmico o de un
informe de tabla dinmica asociado), se perdern las lneas de tendencia.
Paso a Paso: Agregar lnea de tendencia a un grfico

1. Disear el siguiente cuadro

a. Hacer clic en botn

2. Seleccionar el bloque de de celdas A2:B7

b. Hacer clic en la
ficha Insertar
c. Seleccionar
celdas A2:B7

las

d. Elegir este
tipo
de
grfico

AP. Formacin Online.

91

Microsoft Office Excel 2010

3. Se muestra el siguiente grfico


Tasa de inflacin Per
4
3
2
1
0
2003

2004

2005

2006

2007

4. Para agregar la lnea de tendencia, realice las siguientes operaciones


a. Hacer un clic sobre el grfico para seleccionarlo.
b. Hacer clic sobre la ficha presentacin

c. Hacer clic sobre el botn

Mas opciones de lnea de tendencia


d. Se presenta el siguiente cuadro de dilogo

e. Elegir Lineal

f.

92

Activar la casilla
Presentar ecuacin
en el grfico
AP. Formacin Online.

Microsoft Office Excel 2010

5. Se muestra el siguiente grfico


4
2

y = -0,27x + 3,09
0
2003

2004

2005

Tasa de inflacin Per

2006

2007

Lineal (Tasa de inflacin Per)

Si se reemplaza x en la ecuacin por


el nmero del ao siguiente se
obtienen los pronsticos de la
inflacin de los prximos aos (2008,
2009, etc.)

Proyectar valores
Funcin PRONSTICO
Calcula un valor futuro utilizando los valores existentes. El valor previsto es un
valor del eje Y para un valor del eje X dado. Los valores conocidos son valores de
x e y existentes, y el nuevo valor se calcula utilizando una regresin lineal. Esta
funcin se puede utilizar para prever las ventas futuras, las necesidades de
inventario y las tendencias de los consumidores.
Sintaxis
PRONOSTICO(x;conocido_y;conocido_x)
Argumentos
X

Es el punto de datos cuyo valor se desea predecir.

Conocido_y

Es la matriz o rango de datos dependientes.

Conocido_x

Es la matriz o rango de datos independientes.

La ecuacin de la funcin pronstico es a + bx, donde:

y
Y donde x e y son las medias de muestra PROMEDIO(conocido_x) y
PROMEDIO (conocido y).

AP. Formacin Online.

93

Microsoft Office Excel 2010

Paso a Paso: Uso de la funcin Pronstico

1. Disear el siguiente cuadro

94

AP. Formacin Online.

Microsoft Office Excel 2010

Funcin TENDENCIA
Devuelve valores que resultan de una tendencia lineal. Ajusta una recta (calculada
con el mtodo de mnimos cuadrados) a los valores de las matrices definidas por
los argumentos conocido_y y conocido_x. Devuelve, a lo largo de esa recta, los
valores y correspondientes a la matriz definida por el argumento nueva_matriz_x
especificado.
Sintaxis
TENDENCIA(conocido_y;conocido_x;nueva_matriz_x;constante)
Argumentos
Conocido_y

Es el conjunto de valores de y que se conocen en la


relacin y = mx+b.

Conocido_x

Es un conjunto opcional de valores x que se conocen en la


relacin y = mx+b.

Nueva_matriz_x Son los nuevos valores de x para los cuales desea que
TENDENCIA devuelva los valores de y correspondientes
Paso a Paso: Uso de la funcin Tendencia

1. Disear el siguiente cuadro

AP. Formacin Online.

95

Microsoft Office Excel 2010

Uso de cuadros de Histogramas para el clculo de frecuencias


individuales y acumulativas
El grfico de la distribucin de frecuencias, se llama histograma.
El histograma de frecuencias es una representacin visual de los datos en donde se
evidencian fundamentalmente tres caractersticas: forma, acumulacin o tendencia
posicional y dispersin o variabilidad.
El histograma (de frecuencias) en si es una sucesin de rectngulos construidos
sobre un sistema de coordenadas de la siguiente manera:
1. Las bases de los rectngulos se localizan en el eje horizontal.
La longitud de la base es igual al ancho del intervalo.
2. Las alturas de los rectngulos se registran sobre el eje vertical y
corresponden a las frecuencias de los intervalos.
3. Las reas de los rectngulos son proporcionales a las frecuencias de las
clases.
Para que usar los histogramas
1. Los histogramas de frecuencia son una herramienta til cuando hay que

analizar una gran cantidad de datos.


a. Para mostrar en forma de grficos de barras las caractersticas de
un producto o servicio:
-

Tipos de defectos

Problemas

Riesgos de seguridad, etc.

2. Un histograma toma datos de mediciones


a. Temperatura, presiones, alturas, pesos, etc.
b.

Muestra su distribucin.

3. Un histograma revela la cantidad de variacin propia de un proceso.


Datos necesarios para construir un histograma en Excel
Datos de Entrada.

Estos son los datos que desea analizar mediante la


herramienta Histograma.

Nmeros de clase.

Estos nmeros representan los intervalos que desea


que utilice la herramienta Histograma para medir
los datos de entrada en el anlisis de datos.

Paso a Paso: Construccin de un histograma

1. Disear el siguiente cuadro


96

AP. Formacin Online.

Microsoft Office Excel 2010

2. Hacer clic en la ficha

, se presenta el siguiente

cuadro de dilogo.

3. Hacer clic sobre la opcin Histograma


4. Hacer clic en el botn Aceptar. Se presenta el siguiente cuadro de dilogo.

Seleccionar rango de
entrada y rango de
clase segn se muestra
en la grfica.

Como opciones de salida


hacer clic en la opcin
En una hoja nueva.

Hacer clic en
Crear grfico.
AP. Formacin Online.

97

Microsoft Office Excel 2010

5. Hacer clic en el botn


, se agregar una nueva hoja con el cuadro de
clases, frecuencias y la grfica del histograma.

Interpretacin de un Histograma
Se trata de identificar y clasificar la pauta de variacin del conjunto de datos
estudiado, que relacione la variacin con el proceso o fenmeno en estudio.
El resultado de este anlisis es una teora sobre el funcionamiento del proceso o
sobre la causa del problema que se est investigando. A continuacin se presentan
pautas de variacin tpicas:
a. Distribucin en forma de campana

Es la distribucin normal. La desviacin respecto a esta forma puede


indicar la existencia de problemas externas al proceso. La forma de
campana no asegura, por s misma y sin analizar su valor medio y el
recorrido de los datos, que el proceso funcione de forma satisfactoria.
Pico

b. Distribucin con doble campana o con doble pico

Representa generalmente la combinacin de dos distribuciones y


sugiere la presencia de dos procesos distintos.
Pico

98

AP. Formacin Online.

Microsoft Office Excel 2010

c. Distribucin plana

Representa un caso tpico de departamentos que no tienen el trabajo


bien definido y cada cual lo hace "a su manera".
Varias distribuciones en campana con sus
centros distribuidos uniformemente a lo largo
del recorrido de los datos.

d. Distribucin en peine

Esta pauta de variacin es tpica de errores de medicin, errores en la


forma de agrupar los datos o sesgos sistemticos de redondeo.
Debe revisar los procesos de recogida de datos y construccin del
Histograma.
Valores altos y bajos se
alternan de forma regular

e. Distribucin con un pico aislado

El proceso con el pico pequeo ser una anormalidad o deficiencia que no


sucede a menudo o regularmente.
Estos picos unidos a distribuciones sesgadas o truncadas indican falta de
eficacia en la eliminacin de elementos defectuosos.
Esta forma sugiere la
existencia
de
dos
procesos distintos

AP. Formacin Online.

99

Microsoft Office Excel 2010


f.

Distribucin con un pico en el extremo


Esta forma se presenta cuando la cola de una distribucin regular se ha
cortado y acumulado en una sola categora en el extremo del recorrido de los
datos. Suele indicar un registro poco cuidadoso o sesgado de los datos.
Un pico situado en un extremo
de una distribucin regular

g. Distribucin sesgada o truncada

Esta distribucin es tpica de procesos con lmites prcticos a un lado del


valor nominal o a datos parciales de un proceso (distribuciones con parte de
los datos suprimidos).
Distribucin sesgada
Pico descentrado

Distribucin truncada
Descendencia suave de la
cola.

Descendencia
brusca de la cola

Posibles problemas y deficiencias de interpretacin


a. Si los datos utilizados no son adecuados (sesgados, inexactos,
anticuados, poco significativos, etc) las conclusiones no reflejarn la
situacin real.
b. Muestra pequea y poco representativa. Se requiere mnimo cuarenta
observaciones para cada uno de los Histogramas que se desee realizar.
c. Aceptar las conclusiones del anlisis como hechos.
La interpretacin de un Histograma es una simple teora y por tanto deber ser
confirmada posteriormente mediante el anlisis adicional y la observacin de los
hechos reales.

100

AP. Formacin Online.

Microsoft Office Excel 2010

Definicin y resolucin de problemas con Solver


Solver se utiliza cuando queremos encontrar la mejor manera de hacer algo. O dicho de
un modo ms formal: queremos encontrar los valores de determinadas celdas de una
hoja de clculo que optimicen (aumenten o disminuyan) un determinado objetivo.

Generalidades sobre Solver


Un modelo de optimizacin consta de tres partes: la celda objetivo, las celdas
cambiantes y las restricciones.
a. La celda objetivo representa el objetivo como, por ejemplo, aumentar las
ganancias mensuales.
b. Las celdas cambiantes son las celdas de la hoja de clculo que podemos
cambiar o ajustar para optimizar la celda objetivo como, por ejemplo, la
cantidad de cada producto fabricada durante un mes.
c. Las restricciones son delimitaciones que se aplican a las celdas cambiantes
como, por ejemplo, no usar ms recursos que los disponibles y no producir
ms cantidad de un producto que la que pueda venderse.

Carga del programa de complemento Solver


1. Hacer clic en la pestaa Archivo ,
2. Hacer clic en la opcin
3. En el cuadro de dilogo Administrar, hacer clic en la opcin
Complementos de Excel y luego hacer clic en el botn Ir.
4. En el cuadro de dilogo Complementos disponibles, active la casilla de
verificacin Complemento Solver

Hacer clic para carga el


complemento Solver

AP. Formacin Online.

101

Microsoft Office Excel 2010

5. Para terminar hacer clic en el botn

Paso a Paso: Desarrollo de casos utilizando Solver


1. La empresa Comida a su puerta basado en la experiencia del ao anterior
sabe que por cada sol gastado en publicidad ingresa aproximadamente como
promedio 8.75 soles en pedidos. El negocio est sujeto a variaciones
estacinales muy acentuadas. Este ao 2009 se tiene proyectado unos pedidos de
300,000 nuevos soles la pregunta es cuanto se debe invertir en publicidad.
2. Disear el siguiente cuadro se considera 20,000 en inversin en publicidad
distribuido entre los 4 trimestres.

=B5*$F$2*B4

=SUMA(B5:E5)

3. Hacer clic en la ficha

, luego hacer clic en el botn

4. Se presenta el cuadro de dilogo parmetros de Solver


Escriba F5. Que define la celda
que mostrar el valor en
pedidos que se desea alcanzar

Grupo de
celdas
cambiantes

Valor de la celda
objetivo, Monto que
deseamos obtener
como pedidos

5. Haga clic en el botn


102

para hallar una solucin


AP. Formacin Online.

Microsoft Office Excel 2010

Hacer clic para


guardar este
escenario

6. Hacer clic en el botn

para almacenar esta solucin

7. Para terminar haga clic en el botn


solucin.

. Se presenta la siguiente

Paso a Paso: Agregar restricciones a Solver


1. Del ejemplo anterior busque una solucin que mantenga el presupuesto
publicitario total por debajo de 25,000.
2. Hacer clic en la ficha
Luego hacer clic en el botn
3. Se presenta el cuadro de dilogo parmetros de Solver
4. Hacer clic en el botn

5. Defina la siguiente restriccin. Presupuesto de publicidad <= 25,000

AP. Formacin Online.

103

Microsoft Office Excel 2010

6. Haga clic en el botn

. Su cuadro de dilogo debe quedar as.

7. Haga clic en el botn


,
solucin con la restriccin especificada

. Para mostrar la nueva

Cmo configura Solver


1. Hacer clic en la ficha
Luego hacer clic en el botn
2. Del cuadro de dilogo presentado
Hacer clic en el botn
104

AP. Formacin Online.

Microsoft Office Excel 2010


Se aplica slo a los
problemas
no
lineales. Se indica
mediante
una
fraccin entre 0 y 1.
Cuantos
ms
decimales tenga el
nmero,
menor
ser
la
convergencia

Porcentaje donde la celda


objetivo da una solucin
satisface las restricciones
externas. Una tolerancia
mayor tiende a acelerar el
proceso de solucin.

Tiempo
que tarda
el proceso
de
solucin.

Tiempo
que tarda
el
proceso
de
solucin.

Debe indicarse la precisin mediante


una fraccin entre 0 (cero) y 1. Cuantas
ms posiciones decimales tenga el
nmero que se escriba, mayor ser la
precisin; por ejemplo, 0,0001 indica
una precisin mayor que 0,01.

Para
resolver un
problema
de
optimizacin lineal.
Hace que Solver
presuponga
un
lmite de 0 (cero)
para todas las
celdas ajustables
en las que no se
haya establecido un
lmite inferior en el
cuadro Restriccin

Utilizar la escala
automtica cuando
haya
grandes
diferencias
de
magnitud entre las
entradas y los
resultados

Utiliza la extrapolacin
lineal de un vector
tangente.
Utiliza
la
extrapolacin
cuadrtica,
que
puede
mejorar en gran medida los
resultados de problemas no
lineales

Newton Utiliza un mtodo


quasi-Newton que
normalmente necesita ms
memoria pero menos
iteraciones que el mtodo
de gradiente conjugada.
Progresiva Se utilizan para la mayor parte
de los problemas, en los que los valores de
restriccin cambian relativamente poco.
Central Se utiliza en los problemas en que
las restricciones cambian rpidamente, en
especial cerca de los lmites.

Conjugado Necesita menos memoria que


el mtodo Newton, pero normalmente
necesita ms iteraciones para alcanzar un
nivel de exactitud concreto

3. En este cuadro de dilogo puede especificar sus opciones de clculo.

Modificacin de forma de bsqueda de soluciones en Solver


1. Hacer clic en la ficha
Luego hacer clic en el botn
2. Del cuadro de dilogo presentado
Hacer clic en el botn

AP. Formacin Online.

105

Microsoft Office Excel 2010

Cambie las opciones


de Estimacin,
Derivadas y Buscar
para optimizar su
modelo

Desarrollo de casos tipo utilizando Solver


1. Disear el siguiente cuadro

2. Ajustar los precios de los productos de forma que el precio de venta al


pblico (P.V.P.) (F7) se rebaje a 17000. Se debe tener en cuenta que el precio
de cada producto no puede ser superior o inferior a un precio determinado.
Escriba F7. Que define la celda
que mostrar el valor en
pedidos que se desea alcanzar

Grupo de
celdas
cambiantes

Valor de la celda
objetivo, Monto que
deseamos ajustar el
precio de venta.
106

AP. Formacin Online.

Microsoft Office Excel 2010

3. Hacer clic en la ficha

, luego hacer clic en el botn

4. Haga clic en el botn

para hallar una solucin

5. Para terminar haga clic en el botn


primera solucin sin aplicar restricciones.

Se presenta la siguiente

6. Ahora aplicar a los precios de los productos las siguientes restricciones.


B4 > 900 and B4 <1250
B5 > 1300 and B5 <1500
B6 > 1600 and B6 <1850
7. Hacer clic en la ficha

, luego hacer clic en el botn

8. Se presenta el cuadro de dilogo parmetros de Solver


9. Hacer clic en el botn
parmetros de Solver.

se presenta el cuadro de dilogo

Como no se puede comprar


fracciones de artefactos
modificaremos el rango de
celdas cambiantes a: B4:B6

Agregar la
siguiente lista
de restricciones

8. Haga clic en el botn


AP. Formacin Online.

para hallar una solucin


107

Microsoft Office Excel 2010

9. Para terminar haga clic en el botn


solucin esta vez incluye las restricciones.

Se presenta la siguiente

Cuestionarios
1. Cul es la utilidad de las herramientas de anlisis estadsticos.
______________________________________________________________
______________________________________________________________
2. Cul es la diferencia entre tendencia lineal y geomtrica.
______________________________________________________________
______________________________________________________________
3. Cul es la utilidad de un Histograma.
______________________________________________________________
______________________________________________________________
4. En que aplicara Solver.
______________________________________________________________
______________________________________________________________
5. Cul es la diferencia de las funciones Pronstico y Tendencia.
______________________________________________________________
______________________________________________________________

108

AP. Formacin Online.

Captulo

Formularios
En este captulo trataremos:
Activacin de la ficha PROGRAMADOR
Diseo de formularios
Desarrollo de ejemplos tipo con formularios

AP. Formacin Online.

109

Microsoft Office Excel 2010

Activacin de la ficha programador


La ficha Programador se utiliza cuando vaya a escribir macros, ejecutar macros que
haya grabado previamente, o crear aplicaciones para utilizar con programas de
Microsoft Office. Tambin puede utilizarlo para el diseo de formularios.

Paso a Paso: Activar la ficha programador


1. Hacer clic en la pestaa Archivo
2. Hacer clic en el botn
, se
presenta el cuadro de dilogo Opciones de Excel.
3. Hacer clic en la opcin personalizar cinta de
opciones
4. Se presenta el cuadro de dilogo personalizar cinta
opciones

de

Activar la casilla
Programador

5. Hacer clic en el botn

110

para terminar.

AP. Formacin Online.

Microsoft Office Excel 2010

Diseo de formularios
Un formulario es una hoja de clculo con un formato y diseo ya establecido. Puede
contener frmulas, funciones e incluso controles (una lista, botones de opcin, casillas
de verificacin). Gracias a un formulario limitamos el ingreso y manipulacin de datos
a nuestras hojas, as como brindamos soluciones de negocios para nuestros clientes.

Mostrar y ocultar elementos


Lo primero que debemos modificar, es la pantalla de presentacin de nuestra
solucin, interfaz que debe ser mucho ms elaborada, ms limpia, sin los
elementos propios de una hoja de clculo, como las lneas de divisin o las
etiquetas de hojas.
Mucho de los elementos que usted nota en Excel pueden ser ocultados, de esta
manera lograr que su pantalla sea visualmente ms sencilla y simple. Los
elementos que se ocultaran son: Lneas de divisin, Encabezados de fila y
Columna y Etiquetas de hojas.

Encabezado
de columna

Encabezado
de fila

Lneas de
divisin

Etiquetas de
hojas

Paso a Paso: Modificar el diseo de la hoja


1. Hacer clic en la ficha

2. Hacer clic en el botn

AP. Formacin Online.

se muestra el siguiente cuadro de dilogo

111

Microsoft Office Excel 2010

Hacer clic para


ocultar: Lneas de
cuadrcula, Ttulos

3. Hacer clic con el botn derecho de la hoja que desea ocultar, luego hacer clic en
el botn Ocultar.

Trabajando con Controles


Los controles nos permiten interactuar con nuestra ventana en forma ms
intuitiva, a travs de listas, botones de opcin y botones de comando, tal como si
fueran cuadros de dilogos de Windows.
Controles de Formularios
CONTROL

112

NOMBRES

DETALLES

Botn

Permite ejecutar una macro.


Macros automatiza procesos repetitivos.

Etiqueta

Sirve para agregar rtulos al formulario.

Campo de texto

Sirve para agregar datos al formulario.

Cuadro de grupo

Para agrupar controles como casillas y


botones de opcin.

Casillas de verificacin

Podr elegir una, varias o ninguna de las


opciones.

Botn de opcin

Slo podr elegir una de un grupo de


opciones.

Control de nmero

Para cambiar el valor de una celda

Cuadro combinado

Muestra una lista de opciones.


AP. Formacin Online.

Microsoft Office Excel 2010

Cuadro de lista

Muestra una
desplegables.

lista

de

opciones

Barra de
desplazamiento

Permite es desplazamiento por un objeto.

Uso de los controles de formulario


Los controles tienen la funcin de permitir al usuario indicar las operaciones a
realizar. Los controles son el mecanismo que utiliza el usuario para indicar a las
acciones a efectuar. A continuacin describiremos los controles ms importantes
a utilizarse en Excel.
Paso a Paso: Uso del control casilla de verificacin
1. Crear una casilla de verificacin que al activarla permita mostrar el valor del
Flete del transporte de un determinado producto, el cual equivale a S/. 20.00;
cabe mencionar que si se desactiva la casilla de verificacin mostrar el valor de
cero o vaco.
2. Hacer en la ficha

, botn

3. Hacer clic en el control casilla de verificacin


4. Clic en cualquier celda de la hoja de clculo
5. Disear el control en la pantalla y vincularlo, es necesario la vinculacin de los
controles de formularios con una celda, dado que posteriormente por la celda
vinculante aplicaremos lgica para solucionar el problema.

6. Hacer clic derecho sobre este control y elegir la opcin

Hacer clic para activar el control


Escribir $E$3 para vincular este
control con la celda en mencin

AP. Formacin Online.

113

Microsoft Office Excel 2010

Las casillas verificacin devuelven como resultado en la celda vinculante


Si est activado, devuelve VERDADERO
Si est desactivado, devuelve FALSO
7. Para resolver el problema, aplicaremos funciones lgicas en la ceda C2

=SI(E2=VERDADERO;20;0)
Tambin puede hacerlo de la siguiente manera
=SI(E2;20;0)
Dado que el sistema asume por defecto en la condicin lgica la
expresin VERDADERO.
8. Ahora recomendamos activar y desactivar la casilla de verificacin y observar
que sucede.

Paso a Paso: Uso del control botn de opcin


1. Crear tres botones de opcin que permitan mostrar el Precio a pagar entre tres
diferentes equipos de Cmputo.
HP Core 2, RAM 4 Mb, HD 250 GB

$ 1,000.00

Dell Dual Core, RAM 4 Mb, HD 250 GB

IBM Core Quad, RAM 8 Mb, HD 250 GB

$ 1,300.00

2. Hacer en la ficha

900.00

, botn

3. Hacer clic en el control botn de opcin


4. Disear la siguiente pantalla

5. Hacer clic derecho sobre el primer botn de opcin y elegir la opcin

114

AP. Formacin Online.

Microsoft Office Excel 2010

Hacer clic para activar el control


Escribir $F$2 para vincular este
control con la celda en mencin

6. Repetir este procedimiento para los otros dos controles.


7. Los botones de opcin devuelven como resultado en la celda vinculante:
1 = Si se eligi la primera opcin, Computadora HP
2 = Si se eligi la primera opcin, Computadora DELL
3 = Si se eligi la primera opcin, Computadora IBM
8. Para resolver el problema, aplicaremos la funcin INDICE en la ceda D2

9. Ahora cada vez que hagamos clic, en las opciones de los productos, mostrar el
precio que le corresponde.
Paso a Paso: Uso de control numrico

1. Abrir el archivo 4 Prestamo Bancario

AP. Formacin Online.

115

Microsoft Office Excel 2010

Agregar el control numrico para el principal

2. Hacer en la ficha

, botn

3. Hacer clic en el control numrico


4. Agregar el control numrico sobre la celda C3
5. Hacer clic derecho sobre este control y elegir la opcin
6. Se presenta el siguiente cuadro de dilogo defina los datos mostrados en la
grfica.

Estos
datos
se
utilizarn
en
el
control
numrico
que se vincular con
el principal, celda B3

Agregar el control numrico para la tasa de inters

7. Hacer en la ficha

, botn

8. Hacer clic en el control numrico


9. Agregar el control numrico sobre la celda C4
10. Hacer clic derecho sobre este control y elegir la opcin
11. Se presenta el siguiente cuadro de dilogo defina los datos mostrados en la
grfica.

116

AP. Formacin Online.

Microsoft Office Excel 2010

Estos datos se utilizarn


en el control numrico
que se vincular con la
tasa de inters, celda C4

12. Finalmente su hoja de clculo queda como se muestra a continuacin.

Utilice
estos
controles
para
definir el principal
y la tasa de inters.
=c4/100

Paso a Paso: Uso del cuadro combinado


1. Crear un Cuadro combinado que permita la eleccin entre tres productos.
Computadora HP Optimux

$ 1,000.00

Impresora HP 840C

$ 150.00

Scanner HP 3500

$ 100.00

2. Hacer en la ficha

, botn

3. Hacer clic en el cuadro combinado


4. Agregar el control cuadro combinado sobre la celda A3
5. Disear los cuadros adicionales

AP. Formacin Online.

117

Microsoft Office Excel 2010

6. Hacer clic derecho sobre el control cuadro combinado y elegir la opcin

7. Se presenta el siguiente cuadro de dilogo defina los datos mostrados en la


grfica.

8. Las opciones del Cuadro combinado devuelven como resultado en la celda


vinculante:
1 = Si se eligi la primera opcin, Computadora HP Optimux
2 = Si se eligi la primera opcin, Impresora HP 640C
3 = Si se eligi la primera opcin, Scanner 3500
9. Para resolver el problema, aplicaremos la funcin INDICE en la ceda A6

10. Ahora cada vez que hagamos clic, en las opciones de los productos, mostrar el
precio que le corresponde.
118

AP. Formacin Online.

Microsoft Office Excel 2010

Paso a Paso: Ejemplos tipo con formularios


1. Abrir el archivo Controles - para elaborar . XLSX

2. El archivo contiene dos pginas: Cotizacin y Lista de productos

3. La idea es desarrollar la hoja de cotizacin. Comenzaremos con la hoja Lista de


productos. Asignaremos nombres de rango a la lista de productos y lista de
precios. Para hacer referencia a ellos desde la hoja de cotizacin.
Asignar nombre de rango a la lista de
productos
4. Seleccionar el bloque de celdas A2:A21
5. Hacer clic derecho sobre el bloque
seleccionado, del men presentado elegir
la opcin
6. Del cuadro de dilogo presentado en el
recuadro Nombre, escriba Productos

AP. Formacin Online.

119

Microsoft Office Excel 2010

7. Hacer clic en el botn

para terminar

Asignar nombre de rango a la lista de


productos y precios
8. Seleccionar el bloque de celdas A2:B21
9. Hacer clic derecho sobre el bloque
seleccionado, del men presentado elegir
la opcin
10. Del cuadro de dilogo presentado en el
recuadro Nombre, escriba ProducPrecio

11. Hacer clic en el botn

para terminar

Insertar control casilla de verificacin en la hoja de cotizacin.


12. Hacer clic para cambiar a la hoja cotizacin

13. Hacer en la ficha

, botn

14. Hacer clic en el control casilla de verificacin


120

AP. Formacin Online.

Microsoft Office Excel 2010

15. Agregar este control sobre la celda A3

Hacer clic para asignar


como nombre: Tarjeta
Bonus

16. Hacer clic derecho sobre este control y elegir la opcin

Hacer clic para activar el control


Escribir $A$3 para vincular este
control con la celda en mencin

Insertar controles botones de opcin

17. Hacer en la ficha

, botn

18. Hacer clic en el control botn de opcin


19. Agregar tres de estos controles sobre las
A5 A9

celdas

Hacer clic derecho y luego clic


izquierdo para al entrar al modo
edicin y cambiar el nombre de los
controles. Asignar los nombres
mostrados en la grfica.

20. Hacer clic derecho sobre este control y elegir la opcin

AP. Formacin Online.

121

Microsoft Office Excel 2010

Hacer clic para activar el control


Escribir $A$7 para vincular este control
con la celda en mencin

21. Repetir el paso 20 para vincular los otros dos controles de opcin con la celda
A7
Asignar validacin de datos al rango de celdas A13:A18
22. Seleccionar el bloque de celdas A13:A18
23. Hacer clic en

24. Se presenta el siguiente cuadro de dilogo

Elegir la
opcin Lista

Presione la tecla F3
para presentar la
lista de nombres de
rango, elegir
Productos.

25. Hacer clic en el botn


122

para terminar
AP. Formacin Online.

Microsoft Office Excel 2010

26. Su cuadro de dilogo queda como se muestra en la grfica.

Adicionar las frmulas


27. Ingresar las frmulas mostradas para terminar el mdelo

=SI(ESBLANCO(B13);"";C13*B13)
=SI(ESBLANCO(A13);"";BUSCARV(A13;ProducPrecio;2;0))

=SI(A3=VERDADERO;D19*10%;0)
=D19*ELEGIR(A7;10%;5%;0)

AP. Formacin Online.

123

Microsoft Office Excel 2010

Paso a Paso: Ejemplos tipo con formularios


1. Realizar el siguiente diseo y asigne a la hoja el nombre ENCOMIENDA.

ENCOMIENDA

Hoja ENCOMIENDA del libro Proformas.

2. Luego cree el siguiente diseo y asgnele el nombre a la hoja de COSTOS.

COSTO

Hoja COSTOS del libro Proformas.


3. Aada los controles de formulario a su hoja de clculo, para tener un diseo de
acuerdo a la figura.

124

AP. Formacin Online.

Microsoft Office Excel 2010

Formato de control
Para terminar con el diseo, debe modificar el formato de los controles para que
interacten con celdas de su hoja de clculo. Es decir, por ahora los controles
son slo elementos que no se relacionan con la hoja de clculo, al modificar el
formato de los controles, logramos que dichos controles se vinculen a celdas y
as podemos construir frmulas basadas en los valores de esas celdas.
Para modificar el formato de un control
Use el men contextual sobre el control. Elija Formato de control

Opcin Formato de control


Control numrico Kilogramos
Asignarle las siguientes propiedades:

AP. Formacin Online.

125

Microsoft Office Excel 2010

Valor actual

:0

Valor mnimo

:1

Valor mximo

: 50

Incremento

:1

Celda vinculante

: C7

Botones de opcin Normal y Express


De igual manera, debe modificar el formato de cada uno de los controles de su
formulario.
En el caso de los botones de opcin (Normal y Express) debemos indicar una
celda con la que se vincule H1.

Al elegir uno de los botones de opcin, la celda H1 toma un valor.


Casilla de verificacin Delivery
Adems, se debe modificar el formato de la casilla de verificacin (Delivery)
para que se vincule con una celda, si la casilla est marcada muestra
VERDADERO, si no muestra FALSO.
Debemos indicar una celda con la que se vincule H2.

Al activar Delivery, la celda H2 toma un valor lgico


Lista Destino
Finalmente, debe modificar el formato de la lista. En el caso de una lista o un
cuadro combinado, en necesario indicar un Rango de Entrada, es decir el rango
que tenga los elementos que desea mostrar en su lista. Adems, debe vincular el
control a una celda de su hoja de clculo. Asigne el nombre DESTINO al rango
B5:B11 (Hoja Costos).
126

AP. Formacin Online.

Microsoft Office Excel 2010

Debemos definir un Rango de entrada DESTINO y una celda vinculante H3

Formato del control Lista


Observe que la lista se llena con las ciudades indicadas en el rango de entrada.

La lista se llena con las ciudades


Observe que al hacer sobre algunas de las ciudades, la celda H3 muestra el
nmero del elemento seleccionado de la lista.

La celda H3 muestra el nmero del elemento seleccionado


Frmulas relacionadas a controles.
Gracias a las celdas vinculadas de sus controles, usted podr definir ciertas
frmulas basados en los valores de las celdas vinculadas.

AP. Formacin Online.

127

Microsoft Office Excel 2010

Calcular el Costo Bsico


Debe multiplicar los Kilogramos por el Costo de acuerdo a la ciudad (vea
la tabla Costos).
Antes de realizar los clculos asigne el nombre COSTO al rango C5:C11.
En la celda C16 de la Hoja Encomienda escriba:
=INDICE(COSTO; H3) * C7
Gracias a la funcin INDICE podemos ubicar directamente el costo en
base al nmero de elemento seleccionado de su lista (recuerde, la celda
H3 posee este valor).
Calcular el Recargo de Servicio
Debe considerar un recargo del 50% del Costo Bsico s el servicios es
Express. En la celda C17 escriba la frmula:
=SI( H1=2; C16 * 50%; 0)
Recuerde:
El valor 2 en la celda H1 indica que se ha elegido el tipo Express
Calcular Delivery
Debe considerar S/. 10.00 si la casilla esta activa y 0 en caso contrario.
En la celda C18 escriba la frmula:
=SI (H2 = VERDADERO; 10; 0)
Recuerde:
Si la casilla est activa la celda H2 muestra VERDADERO y sino
FALSO.
Completar frmulas
Escribir frmulas en base las celdas vinculadas de sus controles,
sabiendo:
Total del Servicio = Suma del Costo + Recargo + Delivery
IGV = 19% del Total del Servicio
Total a Pagar = Total del Servicio + IGV
Pruebe la funcionalidad de sus frmulas, interactuando con sus controles, por
ejemplo, haga clic en su control nmero o elija otra ciudad.

128

AP. Formacin Online.

Microsoft Office Excel 2010

Cuestionarios
1. Cules son los pasos para activar la Ficha Programador.
______________________________________________________________
______________________________________________________________
2. Cul es la utilidad del uso de formularios en Excel.
______________________________________________________________
______________________________________________________________
3. Cul es la diferencia entre un botn de opcin y una casilla de verificacin.
______________________________________________________________
______________________________________________________________
4. Cul es la diferencia entre un cuadro de lista y un cuadro combinado.
______________________________________________________________
______________________________________________________________
5. Cual es la utilidad de cuadro de grupos al utilizar los botones de opcin.
______________________________________________________________
______________________________________________________________

AP. Formacin Online.

129

Captulo

Macros
En este captulo trataremos:
Seguridad de macros
Grabar una nueva macro
Editar una macro utilizando Visual Basic
Eliminar macros
Uso de macros en formularios
Plantillas con formularios y macros
Desarrollo de proyectos con macros y formularios

AP. Formacin Online.

130

Microsoft Office Excel 2010

Macros
Cada da las grandes y pequeas empresas estn descubriendo el poder de utilizar
conjuntamente las macros con Excel, las compaas requieren de programas
informticos realizados a "medida" de sus necesidades, para gestionar de manera
automtica, rpida y eficaz los procesos internos del negocio.
A la vez muchas personas en su trabajo diario realizan tareas repetitivas frente a sus
hojas Excel, desperdiciando das enteros en realizar informes de manera manual los
cuales, con un simple clic a un botn en cuestin de segundos estara realizado.
Las macros nos permiten automatizar y realizar tareas complejas, aumentando la
eficiencia y eficacia del trabajo.

Definicin
Las macros son un grupo de instrucciones programadas bajo entorno VBA (Visual
Basic para aplicaciones), cuya tarea principal es la automatizacin de tareas
repetitivas y la resolucin de clculos complejos.
El lenguaje VBA, es un lenguaje de programacin basado en el Visual Basic,
enfocado a la realizacin de programas sobre las herramientas Excel, Access,
Word...., mediante macros en VBA podemos crear nuevas funciones para nuestras
hojas Excel, personalizar estilos y formatos, crear programas para la resolucin de
clculos complejos, automatizar tareas...

Ejemplo de cdigo VBA aplicado en Excel


Una vez realizado el cdigo VBA, podemos ejecutar el programa mediante la
creacin de botones, nuevos mens... de tal forma que la aplicacin creada resulte
intuitiva y de fcil manejo.
Tambin puede crear una macro utilizando el Editor de Visual Basic.

Editor de Visual Basic


Entorno en el que puede escribir y modificar cdigo y procedimientos de Visual
Basic para Aplicaciones.
AP. Formacin Online:

131

Microsoft Office Excel 2010

El Editor de Visual Basic contiene un conjunto completo de herramientas de


depuracin para buscar sintaxis, tiempo de ejecucin y problemas lgicos en el
cdigo en uso en Microsoft Visual Basic para escribir sus propias secuencias de
comandos de macro o para copiar toda o parte de una macro en una nueva macro.
Una vez creada una macro, puede asignarla a un objeto (como un botn de barra
de herramientas, un grfico o un control) para que pueda ejecutarla haciendo clic
en ese objeto.

Sin embargo es importante mencionar que usted debe contar con conocimientos
de programacin y conocer los objetos de Microsoft Excel.

Para que se utilizan las Macros


Mediante macros VBA podemos crear mltiples aplicaciones que realicen los
clculos automticamente y obtengamos resultados en apenas unos segundos.
Nos permite automatizar procesos y evitar estar dependiendo de personas con
conocimientos superiores para el manejo de procesos diseado especialmente para
las necesidades de los usuarios.
Las macros VBA trabajan en diversos programas, los ms conocidos son los
programas que se incluyen en el paquete Office (Excel ,Word, Access...) pero
adems las macros VBA tambin trabajan en diversos programas como
SolidWorks, Autocad... (software creado para el diseo de ingeniera) lo cual
proporciona una enorme versatilidad de utilizacin, as como una comunicacin
entre diversos programas.

132

AP. Formacin Online.

Microsoft Office Excel 2010

Macros VBA con Excel


Creacin de nuevas funciones- como por ejemplo la funcin "cdigo" que
convierte dgitos alfanumricos a dibujos basados en codificacin de cdigo
de barras.
Automatizacin de tareas repetitivas- realizacin de informes automticos,
conexin con bases de datos y otros programas.
Resolucin de clculos complejos e iterativos
Creacin de programas, como gestores documentales, software de
planificacin.

Ventajas
Realizacin de programas a medida
Cada empresa posee sus peculiaridades y caractersticas, en muchas
ocasiones se adquieren paquetes de software estandarizado que no
cumplen las expectativas inciales y que acaban por no aportar una
solucin real a las necesidades del negocio, mediante las macros en
Excel cada programa desarrollado se adapta fcilmente a cada tipo de
empresa, proporcionando un versatilidad y flexibilidad incomparable.

Rpido y fcil manejo


De los programas desarrollados bajo entorno Excel, cuando la
empresa adquiere un software nuevo ha de dedicar cierta parte de
tiempo en adquirir los conocimientos necesarios para el buen
manejo del software, la gran ventaja que nos aporta las macros es
que estn desarrolladas bajo Excel, herramienta muy conocida y utilizada en
la mayora de las empresas.
Realizacin de tareas y clculos complejos
En muchas ocasiones dejamos de utilizar tcnicas conocidas para la
resolucin de problemas, que nos podran aportar datos de vital
importancia, por la gran complejidad de clculo que conllevan,
mediante macros en Excel estas tareas y clculos pasaran a la
historia, realizando la propia hoja Excel el trabajo por nosotros.
Aumento de eficacia y eficiencia
En el trabajo, puesto que reducimos horas y horas de nuestro
trabajo en realizar tareas manuales al convertirlas en automticas,
ocupando el tiempo ganado en otros asuntos.

AP. Formacin Online:

133

Microsoft Office Excel 2010

Seguridad de Macros
Los Macrovirus
Los macro virus son una nueva familia de virus que infectan documentos y hojas
de clculo. Fueron reportados a partir de Julio de 1995, cambiando el concepto de
aquella poca, de que los virus tan slo podan infectar o propagarse a travs de
archivos ejecutables con extensiones .EXE o .COM
Hoy en da basta con abrir un documento en Word o una hoja de clculo de Excel
infectados para que un sistema limpio de virus sea tambin infectado.
Los macro virus tienen 3 caractersticas bsicas:
Infectan documentos de MS-Word o MS-Excel y archivos de bases de
datos en MS-Access.
Poseen la capacidad de infectar y auto-copiarse en un mismo sistema, a
otros sistemas o en unidades de red a las cuales estn conectadas.
Haciendo uso de las funciones de la interfaz de las libreras MAPI
(Messaging Application Programming Interface), desde el sistema
infectado se enva a todos los buzones de la libreta de direcciones de MS
Outlook y Outlook Express.
Parte del MacroVirus Melissa
Private Sub AutoOpen()
On Error Resume Next
p$ = "clone"
If System.PrivateProfileString("",
"HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Word\Security",
"Level") <> "" Then
CommandBars("Macro").Controls("Security...").Enabled = False
System.PrivateProfileString("",
"HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Word\Security",
"Level") = 1&
Else
p$ = "clone"
CommandBars("Tools").Controls("Macro").Enabled = False
Options.ConfirmConversions = (1 - 1): Options.VirusProtection = (1 - 1):
Options.SaveNormalPrompt = (1 - 1)
End If

...
...
End sub

134

AP. Formacin Online.

Microsoft Office Excel 2010

A pesar de que los macro virus son escritos en los lenguajes macro de MS-Word o
MS-Excel y por consiguiente deberan infectar nicamente a documentos y hojas
de clculo, es posible desarrollar macro virus que ejecuten llamadas al sistema
operativo, dando rdenes de borrar archivos o hasta de reformatear al disco duro.
Otra caracterstica de los macro virus es que sus acciones estn destinadas
exclusivamente a un tipo de documento, hoja de clculo o archivo de base de
datos, creados en MS-Word, MS-Excel y MS-Access.
Cada vez aparecen y se propagan una mayor cantidad de macro virus que los virus
de archivos ejecutables y esto se debe a dos simples razones:
Los macro virus a pesar de tener acciones muy sofisticadas en sus
procesos de infeccin, son sumamente fciles de crear o modificar, pues
tan slo es necesario tener nociones de programacin en lenguaje macro.
Incluso se distribuyen Generadores de Macro Virus en muchos sitios de
Internet.
Ahora todos los usuarios intercambian ms documentos que archivos
ejecutables, ya sea a travs de diskettes, correo electrnico u otro medio,
lo cual alienta a los desarrolladores de virus.

Ayudar a proteger archivos de virus en macros


Las macros se graban en el lenguaje de programacin Visual Basic para
Aplicaciones.) dentro de un archivo, plantilla (plantilla: archivo o archivos que
contienen la estructura y las herramientas para dar forma a elementos como el
estilo y el diseo de pgina de los archivos terminados.
Para reducir ms el riesgo de infeccin con virus en los archivos de Office,
establezca el nivel de seguridad de las macros y use firmas digitales (firma digital:
sello electrnico seguro basado en cifrado para autenticar una macro o un
documento. Esta firma garantiza que la macro o el documento fueron creados por
el firmante y que no se han modificado.).
Para aplicar seguridad hacer los siguientes pasos:

AP. Formacin Online:

Hacer clic en la ficha

Hacer clic en el botn

de la cinta de opciones

135

Microsoft Office Excel 2010

Firmas digitales
Una firma digital en una macro es como un sello de cera en un sobre: confirma
que la macro se origin en el programador que la ha firmado y que no se ha
modificado.
Al abrir un archivo o cargar un complemento que contenga una
macro con firma digital, esta firma aparece en el equipo en
forma de certificado. El certificado menciona la fuente de la
macro, y otra informacin acerca de la identidad e integridad de
la fuente. Una firma digital no garantiza necesariamente la
seguridad de una macro, por ello el usuario debe decidir si
confiar en una macro que lleva firma digital.
Cmo obtener un certificado Digital?
Puede obtener un certificado digital de una autoridad de certificacin comercial,
como VeriSign, Inc. o de su administrador de seguridad interna o profesional de
Tecnologas de la Informacin (TI). Tambin puede crear una firma digital
mediante la herramienta Selfcert.exe.
Para obtener ms informacin acerca de las autoridades de certificacin que
ofrecen servicios para productos de Microsoft, vea la lista de Microsoft Root
Certificate Program Members (Integrantes del programa de certificados raz de
Microsoft).
Para agregar un certificado digital
Hacer clic en la ficha
Hacer clic en el men

botn

, opcin

Se presenta el cuadro de dilogo

Hacer clic en el botn

Se presenta el siguiente cuadro de dilogo

136

AP. Formacin Online.

Microsoft Office Excel 2010

Elegir el certificado
desea utilizar

que

Lista de editores de confianza


Al abrir un archivo que incluye macros con firma, se le pregunta si desea confiar
en todas las macros originadas en ese editor.
Si selecciona esta opcin, agrega el propietario del certificado a su lista de
editores de confianza. Antes de decidirse, debe revisar los detalles del certificado
digital, como por ejemplo, mirar los campos Emitido para y Emitido por, para
determinar si confa en el editor, y mirar el campo Vlido desde para determinar si
el certificado es actual.
El certificado tambin puede incluir detalles como la direccin de correo
electrnico o e sitio Web de la persona que lo ha obtenido.
Una vez que haya agregado una persona (o corporacin) a la lista de editores de
confianza, Office activar las macros firmadas por este editor sin mostrarle una
advertencia de seguridad.
De todos modos, se puede eliminar entradas de la lista de editores de confianza.
Nota. Cualquier certificado que figure como certificado de confianza en la lista
de editores de confianza ser tambin considerado de confianza en Internet
Explorer.

Advertencias acerca de plantillas y complementos instalados


Al abrir una plantilla o cargar un complemento desde la carpeta Inicio, las macros
del archivo se pueden activar automticamente.
De todos modos, puede desactivar la opcin de seguridad Confiar en todas las
plantillas y complementos instalados, para recibir una advertencia acerca de estas
macros. La advertencia variar en funcin del nivel de seguridad que haya
elegido.

AP. Formacin Online:

137

Microsoft Office Excel 2010

Grabar una nueva Macro


Hacer clic en la ficha

, botn

Se presenta el siguiente cuadro de dilogo

Escribir el nombre de la
Macro
Especificar donde se grabar la
Macro

Escriba una descripcin de lo


que realiza su Macro

Paso a Paso: Grabar una Macro


1. Abrir el archivo 5 Macro1.
2. En la siguiente hoja de clculo crear una macro que permita automticamente
ordenar la tabla por categora del empleado.

3. Hacer clic en la ficha


138

, botn
AP. Formacin Online.

Microsoft Office Excel 2010

4. Se presenta el siguiente cuadro de dilogo


Escriba como nombre de
la Macro OrdenarLista

Hacer clic en el botn

5. A partir de este momento todo accin que realice se grabar como parte d e la
Macro
6. Presione las teclas Ctrl + Inicio para ubicarse en la primera celda.
7. Haga un clic en la celda A4, luego presione [Ctrl] + [*] para seleccionar toda la
base de datos.

8. Hacer clic en la ficha

, elegir

Elegir la opcin CATEGORA

9. Hacer clic en la ficha

AP. Formacin Online:

, botn

139

Microsoft Office Excel 2010

Editar una Macro utilizando Visual Basic


La macro se graba en cdigo de Visual Basic en una hoja de mdulo.

Hacer clic en la ficha

, botn

Del cuadro de dilogo presentado elegir su macro.

Elegir la Macro
OrdenarLista

Hacer clic en el botn

se muestra el cdigo

Ahora puede modificar el cdigo segn sus nuevos requerimientos.

140

AP. Formacin Online.

Microsoft Office Excel 2010

Eliminar macros
Para eliminar una Macro seguir el siguiente procedimiento.

Hacer clic en la ficha

, botn

Del cuadro de dilogo presentado elegir su macro.

Elegir la Macro
desea eliminar

Hacer clic en el botn

que

se muestra el cdigo

Referencias Relativas
Una referencia es la ubicacin de una celda en Microsoft Excel, tal como A1, B4.
En Microsoft Excel se tiene dos tipos de referencia: Absoluta o relativa.
Si configura el tipo de referencia en absoluta, Microsoft Excel lleva un control de
la posicin exacta de cada celda seleccionada. Por ejemplo si crea una macro que
subraya la celda A1, cuando ejecute la macro siempre va a afectar a la celda A1.
Si configura el tipo de referencia en relativa, Microsoft Excel lleva un control de
la posicin de cada celda seleccionada en relacin a la celda seleccionada con
anterioridad. Por ejemplo si me ubico en la celda A1 y crea una macro que pone
en subrayado a la celda B2. Observe que B2 se encuentra una celda a la derecha y
una celda hacia abajo de la celda A1.
Si me ubico en la celda A4 y ejecuto la macro se pondr en subrayado la celda B5.
Ya que esta es la celda que se encuentra una celda ms a la derecha y una celda
ms hacia abajo.

AP. Formacin Online:

141

Microsoft Office Excel 2010

Como usted puede observar configurar como absoluta o relativa tiene sus ventajas
segn el caso presentado.
Para lograr que las celdas empleadas en su macro sean consideradas como
relativas, al grabar una Macros, debe activar Referencias relativa.
Usted puede combinar celdas absolutas y relativas en una macro.

Diferencia entre celda relativa y absoluta


Celda absoluta

Hace referencia siempre a una celda fija.


Ejemplo:
Range(A1).Select Selecciona la celda A1

Celda relativa

Se basa en una referencia de celda, la cual si cambia la


posicin de las celda que involucra la sentencia, esto se
ver reflejado en el resultado.
Ejemplo:
ActiveCell.FormulaR1C1 = "=R[-1]C+1"
Realiza la frmula n = n +1

Paso a Paso: Crear Macro con referencia relativa


1. Hacer clic en la ficha

, botn

Uso de Macros en Formularios


Es posible asignar Macros a los controles de un formulario, esto permite mejorar la
interfaz de su aplicacin y automatizar sus tareas.
Paso a Paso: Asignar Macro a botones
1. Abrir el archivo 5 Macro1.
2. En la siguiente hoja de clculo crear tres Macros:
142

AP. Formacin Online.

Microsoft Office Excel 2010

Ordenar_Por_Apellidos

Ordenar_Por_Ocupacin

Ordenar_Por_Sueldo

3. Hacer clic en la ficha

, botn

4. Se presenta el siguiente cuadro de dilogo


Escriba como nombre de la Macro
Ordenar_Por_Apellidos

Hacer clic en el botn

5. A partir de este momento todo accin que realice se grabar como parte de la
Macro
6. Presione las teclas Ctrl + Inicio para ubicarse en la primera celda.
7. Haga un clic en la celda A4, luego presione [Ctrl] + [*] para seleccionar toda la
base de datos.
AP. Formacin Online:

143

Microsoft Office Excel 2010

8. Hacer clic en la ficha

, elegir

Elegir la opcin APELLIDOS Y NOMBRES

9. Hacer clic en la ficha

, botn

10. Repetir este proceso para crear a las otras dos Macros.
11. Adicionar los botones de comando a la hoja

12. Hacer en la ficha

, botn

13. Hacer clic en el control Botn


14. Al dibujarla en la hoja de clculo se presenta el
siguiente cuadro de dilogo
Elegir Ordenar_Por:Apellidos
y hacer clic en el botn

15. Agregar los otros dos botones y asignar la Macro, su hoja debe quedar como se
muestra en la grfica, cada vez que presione los botones se ordenar la tabla.

144

AP. Formacin Online.

Microsoft Office Excel 2010

Paso a Paso: Asignar Macro a botones de opcin


1. Abrir el archivo 5 Macro1.
2. En la siguiente hoja de clculo crear tres Macros:
-

Filtrar_Afil_AFP

Sueldo_Mayor_30000

Elimina_Filtro

3. Hacer clic en la ficha

, botn

4. Se presenta el siguiente cuadro de dilogo


AP. Formacin Online:

145

Microsoft Office Excel 2010

Escriba como nombre de la Macro


Filtra_Afil_AFP

Hacer clic en el botn

5. A partir de este momento todo accin que realice se grabar como parte de la
Macro
6. Presione las teclas Ctrl + Inicio para ubicarse en la primera celda.
7. Haga un clic en la celda A4, luego presione [Ctrl] + [*] para seleccionar toda la
base de datos.

8. Hacer clic en la ficha

, elegir

Hacer clic sobre el filtro


A_AFP.

Desactive la casilla N

146

AP. Formacin Online.

Microsoft Office Excel 2010

9. Hacer clic en la ficha

, botn

10. Repetir este proceso para crear a las otras dos Macros.
11. Adicionar los botones de opcin en la hoja

12. Hacer en la ficha

, botn

13. Hacer clic en el control Botn


14. Dibujar los tres botones de opcin en la hoja y asignar
sus nombres segn la grfica

15. Hacer clic derecho sobre uno de los botones de opcin


16. Del men contextual presentado elegir la opcin

Elegir
la
opcin
Filtra_Afil_AFP

Hacer clic en el botn


para
terminar

17. Repetir este procedimiento para signar Macro a los otros dos botones de opcin
AP. Formacin Online:

147

Microsoft Office Excel 2010

Plantillas con formularios y Macros


Para mejorar la forma de trabajo con archivos semejantes que se generan cada mes,
puede disear un modelo y grabarlo como plantilla, esta plantilla puede ncluir Macros y
controles de formulario.
Una plantilla es un archivo que se utiliza como base para generar nuevos archivos los
cuales tienen las mismas caractersticas.

Paso a Paso: Uso de plantillas predefinidas


1. Hacer clic en la pestaa Archivo,
2. Hacer clic en el botn
3. Se presenta el siguiente cuadro Plantillas Disponibles, seleccionar Plantillas de
Ejemplo.

Seleccionar una de las


plantillas mostradas

4. Hacer clic en el botn

148

AP. Formacin Online.

Microsoft Office Excel 2010

Paso a Paso: Uso de plantillas de MS Office Online


1. Hacer clic en la pestaa Archivo
2. Hacer clic en el botn
3. Se presenta el siguiente cuadro de dilogo
4. En Plantillas de Office.com, seleccionar una categora, luego seleccionar una
plantilla ejemplo: Planeamiento Mensual

Seleccionar una de
las plantillas
mostradas

5. Hacer clic en el botn Descargar


6. A continuacin se muestra la plantilla en un nuevo libro.

AP. Formacin Online:

149

Microsoft Office Excel 2010

Crear Plantillas personalizadas


1. Para crear una plantilla disee su hoja de clculo y al guardarla elegir el tipo

150

AP. Formacin Online.

Microsoft Office Excel 2010

2. De esta forma puede utilizar esta plantilla para generar nuevos archivos

Utilizar Plantillas personalizadas


1. Para utilizar una plantilla hacer clic en la pestaa Archivo,
2. Se presenta el siguiente cuadro de dilogo

Elegir la
plantilla
que
quiera
utilizar

Elegir
plantillas

Desarrollo de proyectos con Macro y formularios


La Empresa JH Import's dedicada al Rubro de Importacin y Exportacin de Productos
en general, ha adquirido una Computadora Core 2 DUO, 2GHZ y 1GB RA, Disco duro
80GB para automatizar los procesos que realiza.
La Empresa cuenta actualmente con 50 trabajadores y dentro de los primeros procesos
que desea automatizar es de un Sistema para el Control de Pagos implementando
controles y Macros a su solucin actual, para lo cual ha contratado los Servicios de un
Profesional de Computacin de SENATI, el cual ser el encargado de desarrollar esta
aplicacin.
AP. Formacin Online:

151

Microsoft Office Excel 2010

Consideraciones
El Programa que se determin utilizar ser MICROSOFT EXCEL For Windows,
ya que se maneja poca informacin y dado el conocimiento de su personal del
Suite Office.
El Sistema de Planillas ser almacenado en el archivo PLANI2008.XLS y el
anlisis ha determinado que ser distribuido en varias hojas de clculo, segn el
siguiente flujograma de datos.
Flujo Lgico del Programa

Proceso de Automatizacin
1. Automatizacin del Sistema de Planillas
1.1. Crear un nuevo Libro o Cuaderno de Trabajo
1.2. Asignar nombres a las Hojas de Clculo
Para una mejor comprensin de donde se encuentra cada Informacin, se le
asignarn nombres a todas las hojas segn el Flujo Lgico del Programa (ver
parte inferior del libro).

En adelante nos referiremos a las hojas por sus respectivos nombres.


1.3. Automatizacin de la Planilla

152

AP. Formacin Online.

Microsoft Office Excel 2010

Recomendamos para los Nombres de Campos utilizar un tipo de letra


diferente al de los datos. Ejemplo: Nombres de Campo: Letra Times New
Roman 12 puntos y Datos: Letra Arial 10 puntos.
Formatear las Hojas de Clculo segn su criterio y darle un aspecto
presentable y agradable (utilizar tipos de letras, bordes, sombreados, datos
numricos a 2 decimales y en millares, etc.)
Hoja: Datos Personales
Lo nico que tiene que hacer, es ingresar los datos de los trabajadores
conforme se muestra en la hoja de Datos Personales y darle un formato
apropiado.
Hoja: Tabla AFP
Lo nico que tiene que hacer, es ingresar los datos de descuentos de la Tabla
de AFP conforme se muestra en la hoja de Tabla AFP y darle un formato
apropiado.
Hoja: Planilla
A. El nico dato ingresado ser el No. DE CARNET.
B. Los datos: APELLIDOS Y NOMBRES, OCUPACION, AFILIADO
A AFP, CODIGO DE AFP y SUELDO BASICO deben ser extrados
de la hoja Datos Personales mediante el campo No. DE CARNET.
Para realizar esta operacin de bsqueda y extraccin de datos
utilice la funcin BUSCARV...
Recomendamos utilizar el Asistente para funciones.
Ejemplo: Para extraer los APELLIDOS Y NOMBRES mediante
el Campo NUMERO DE CARNET.
Pasos:
1.- Ubicarse en la Hoja Datos Personales y anote el No. de
columna donde se encuentra el Campo a extraer
APELLIDOS Y NOMBRES (ver Hoja Datos Personales
celda B57)
2.- Ahora ubquese en la Hoja Planilla, en la celda B10 y
realice lo siguiente
3.- Haga Clic en el icono Asistente para funciones o en el
men Insertar, Funcin...
4.- Luego, haga Clic en Bsqueda y referencia, BUSCARV
5.- Haga Clic en el primer dato del campo No. CARNET de
la Hoja Planilla (Celda A10), mediante el cual se extrae
la informacin.
6.- Haga Clic en el recuadro de matriz_a_buscar_en, luego

en la Hoja Datos Personales seleccione el rango A6..K55


y presione la tecla F4 (celdas absolutas), lo cual permitir

AP. Formacin Online:

153

Microsoft Office Excel 2010

realizar la bsqueda del dato de la celda A10 en el rango


especificado.
7.- Haga Clic en el recuadro de indicador_columnas y digite
2 No. de columna a extraer.
8.- Haga Clic en el botn Terminar y copie la frmula (B6 a
B59) para extraer los APELL. Y NOMBRES.

C. Clculo de los Ingresos


Por poltica de la empresa se le asignar a todos los trabajadores
5% de Bonificacin por Costo de Vida el cual ser deducido del
sueldo bsico.
BONIFICACION = 5% del SUELDO BASICO
Por acuerdo con el sindicato de la Empresa se acord asignar 10
soles por c/hijo como asignacin familiar.
ASIGNACION FAMILIAR = 10 * Nmero de hijos
El nmero de hijos debe ser extrado de la hoja de Datos
Personales. Utilizar funcin BUSCARV...
El INCREMENTO es de 10% y slo se les asignar a los
trabajadores afiliados a una AFP.
Recomendamos utilizar la funcin lgica =SI... para realizar este
clculo.
El INCENTIVO es de 3% y slo se le asignar a los empleados
afiliados a una AFP.
Recomendamos utilizar la funcin lgica =SI... para realizar este
clculo.
El Total de Ingresos se obtiene de la suma de los siguientes
campos:
TOTAL INGRESOS = SUELDO BASICO + BONIFICACION +
ASIG. FAMILIAR + INCREMENTO + INCENTIVO

D. Aportaciones del Empleado


Cuando un trabajador es contratado o estable se le descuenta por
Ley IPSS, SNP y FONAVI.
Prestaciones de salud 0% el cual ser deducido del Total de
Ingresos.
IPSS = 0% del TOTAL DE INGRESOS
154

AP. Formacin Online.

Microsoft Office Excel 2010

SNP (Seguro Nacional de Pensiones) slo se le debe descontar


11% deducido del Total de Ingresos, a los trabajadores afiliados
al SNP (no estar afiliados a una AFP).
Recomendamos utilizar la funcin lgica =SI... para realizar este
clculo.
SNP = 11% del TOTAL DE INGRESOS
FONAVI (Fondo Nacional de Vivienda) 0% el cual ser
deducido del Total de Ingresos
FONAVI = 0% del TOTAL DE INGRESOS
Aportaciones de los trabajadores Afiliados a una AFP
A los trabajadores afiliados a una AFP se le descuentan
adicionalmente los siguientes rubros:
CUENTA INDIVIDUAL = % de Cta. Individual * Total de ingresos
SOLIDARIDAD IPSS = % de solid. IPSS * Total de ingresos
SEG. INV. GTOS. SEPELIO = % Seg. Inv. Gtos. sepelio * Total de ing
COMISION FIJA = VALOR DE LA COMISION FIJA COMISION
VARIABLE = %Comisin variable * Total de ingresos.

Para Calcular los datos recomendamos utilizar la funcin lgica


=SI(...BUSCARV(...
Ejemplo.
=SI(esta Afiliado a AFP,Extraer el % de descuento de la Tabla
AFP * Total Ingresos,Caso Contrario 0)

Frmula Hoja Planilla Celda O10: Cta Individual


=SI(D10="S";BUSCARV(E10;'Tabla AFP'!$B$6:$H$12;3);0)*K10

5ta CATEGORIA se le dscta. 15% sobre la cantidad excedida, si


su Sueldo (Total Ingresos) excede a 1,200
Recomendamos utilizar la funcin lgica =SI... para realizar este
clculo.
El Total de Aportaciones del Empleado se obtiene de la suma de
lo siguientes campos:
TOTAL DSCTO = IPSS+ SNP + FONAVI + CTA. INDIV. +
SOLID. IPSS + SEG. INV. GTOS. SEPELIO + COMISION
FIJA + COMISION VARIABLE + 5ta CATEGORIA
E. Clculo del Total a Pagar
TOTAL PAGAR = TOTAL INGRESOS - TOTAL DE DESCUENTOS
F. Aportaciones del Empleador - referencial para est planilla
Cuando un trabajador es contratado o estable, la Empresa va a aportar
por este trabajador por:

AP. Formacin Online:

155

Microsoft Office Excel 2010

Prestaciones de salud 9% el cual ser deducido del Total de


Ingresos.
IPSS = 9% del TOTAL DE INGRESOS
SNP (Seguro Nacional de Pensiones) slo se le debe descontar
0% deducido del Total de Ingresos, a los trabajadores afiliados al
SNP (no estar afiliados a una AFP).
Recomendamos utilizar la funcin lgica =SI... para realizar este
clculo.
SNP = 0% del TOTAL DE INGRESOS
FONAVI (Fondo Nacional de Vivienda) 9% el cual ser
deducido del Total de Ingresos
FONAVI = 9% del TOTAL DE INGRESOS
El Total de Aportaciones del Empleador se obtiene de la suma de
lo siguientes campos:
TOTAL APORTACIONES DEL EMPLEADOR = IPSS + SNP +FONAVI

MANTENIMIENTO DE LA PLANILLA
Una vez culminada la Planilla:
Copiar la hoja Planilla a Plani Ago 2008 (Hoja Histrica)
Copiar todos las frmulas a valores (para que no cambien su valor si hay
modificaciones)
Ahora puede generar las Planillas de los siguientes meses, guardando como una
Hoja Histrica la Planillas ya realizadas.
DISEAR LA HOJA DE DATOS PERSONALES

156

AP. Formacin Online.

Microsoft Office Excel 2010

DISEAR LA HOJA DE TABLA AFP

DISEAR LA HOJA DE PLANILLA

DISEAR LA HOJA BOLETA DE PAGO

AP. Formacin Online:

157

Microsoft Office Excel 2010

Cuestionarios
1. Cules son los pasos para crear una macro.
______________________________________________________________
______________________________________________________________
2. Es posible asignarle un atajo a una macro, para ejecutarlo rpidamente.
______________________________________________________________
______________________________________________________________
3. Para programar en una Macro, que lenguaje de programacin se utiliza.
______________________________________________________________
______________________________________________________________
4. Qu es un Macrovirus.
______________________________________________________________
______________________________________________________________
5. Cual es la utilidad de la creacin de plantillas, aplicando formularios y macros.
______________________________________________________________
______________________________________________________________

158

AP. Formacin Online.

Captulo

Programacin con VBA


En este captulo trataremos:
Programacin con Visual Basic

AP. Formacin Online.

159

Microsoft Office Excel 2010

Introduccin al Visual Basic


Microsoft VBA (Visual Basic for Applications) es el lenguaje de macros de Microsoft
Visual Basic y viene integrado en aplicaciones de Microsoft Office, como Word, Excel
y Access, Powerpoint y Visio. VBA permite acceder a las
funcionalidades de un lenguaje orientado a eventos con acceso a
la API de Windows.
La utilidad de VBA es automatizar tareas cotidianas, el programa
generado slo se puede compilar con el documento, hoja o base
de datos en que fue creado
Visual Basic es una herramienta de diseo de aplicaciones para
Windows, en la que estas se desarrollan en una gran parte a partir del diseo de una
interface grfica. En una aplicacin Visual Basic, el programa est formado por una
parte de cdigo puro, y otras partes asociadas a los objetos que forman la interface
grfica.

Objetos

Procedimientos

Cdigo

Es por tanto un trmino medio entre la programacin tradicional, formada por una
sucesin lineal de cdigo estructurado, y la programacin orientada a objetos.
Combina ambas tendencias. Ya que no podemos decir que Visual Basic
pertenezca por completo a uno de esos dos tipos de programacin, debemos
inventar una palabra que la defina: PROGRAMACION VISUAL.
Pasos para la creacin de un programa en VBA
La creacin de un programa bajo Visual Basic lleva los siguientes pasos:
Anlisis, planteamiento lgico de la solucin del problema, diagrama de flujo,
diseo del formulario, programa.
160

AP. Formacin Online.

Microsoft Office Excel 2010

Anlisis
En esta etapa se construye un modelo del problema extrado del mundo real
especificando los elementos que alimentan el proceso (especificaciones de
entrada), los elementos que se espera produzca el proceso (especificaciones de
salida) y se define lo mejor posible al problema en s mismo.
Para poder definir bien un problema es conveniente responder a las siguientes
preguntas
1. Qu es lo que me pide que realice el problema?
2. Qu datos se requieren ingresar, analice el tipo de dato que necesita
(numrico, texto, fecha, hora, ) y su valor inicial?
3. Qu resultado desea hallar, clculos, reportes, consultas, analice el
tipo de dato?
4. Qu mtodo puedo utilizar para encontrar este resultado?
Requerimientos del anlisis del problema:
Anlisis del
problema

Definicin
del
problema

Definir
datos de
entrada

Definir
datos de
salida

Planteamiento lgico de la solucin del problema.


El planteamiento lgico de basa en la idea que uno tiene para resolver el
problema, basado en un modelo matemtico o secuencia de procesos (leer
datos, registrar datos, consultar datos, reportar datos, etc.).
Diagrama de flujo
Es una herramienta que permite plantear una solucin lgica a un problema de
computadoras.
Diseo del formulario
Es la interfaz de comunicacin hombre mquina, tanto para salida de datos
como para entrada.
Programa
El programa est distribuido en: Las propiedades de los controles, los
procedimientos (Eventos Click, keypress, etc.)

AP. Formacin Online.

161

Microsoft Office Excel 2010

Fundamentos de programacin VBA


Los algoritmos se estructuran de diversas formas, en algunos casos simplemente su
desarrollo es consecutivo, a este tipo de algoritmos se denomina de estructura
secuencial, en otros casos durante el desarrollo secuencial se generan preguntas a este
tipo de algoritmos se denomina de estructura condicional y en otros casos generan
bucles es decir repeticin de ciertas lneas de programas, a estos algoritmos se
denominan de estructura repetitiva.
Estructura bsica para cualquier algoritmo a desarrollar:

Declaracin de
variables

Captura de
datos

Proceso de
datos

Salida de
informacin

Estructura Secuencial.
Este tipo de algoritmos se caracteriza por que entre sus
instrucciones no existen estructuras condicionales ni

162

AP. Formacin Online.

Microsoft Office Excel 2010

repetitivas, se desarrollan lnea a lnea hasta culminar con su ejecucin,


grficamente se observara de la siguiente manera:
Ejemplo
Disear un programa que permita hallar el rea de un triangulo rectngulo si se
sabe: rea_tringulo = (B * H) / 2
Donde B es base del triangulo y H es la altura.
1. Anlisis
i. Qu te piden que realices?
Hallar el rea de un triangulo.
ii. Qu datos necesito conocer?
Segn la frmula que se muestra debera de conocer la base y la altura.
2. Planteamiento Lgico.
El problema se resuelve con una frmula matemtica AR = B*H
3. Definicin de variables de entrada
Las variables que se usaran para la captura de la base y la altura son: B y H.
4. Definicin de variables de salida
La variable en donde se muestra el rea del triangulo rectngulo es: AR
5. Programa
Sub AreaTriangulo()
Dim a B as integer
Dim H as integer
Dim AR as single
B= val (Textbox1.text)
H = val (Textbox2.text)
AR = (B*H) / 2
Textbox2.text = AR
End Sub

Estructura Condicional.
Este tipo de algoritmos se caracteriza por que entre sus instrucciones muestran
estructuras condicionales.
a. Condiciones Simples. Sentencia SI ENTONCES
Se ejecuta un conjunto de instruciones si se cumple la condicin
V
Condicin

AP. Formacin Online.

Instrucciones

163

Microsoft Office Excel 2010

b. Condiciones doble. Sentencia SI ENTONCES SINO


Se ejecuta un conjunto de instruciones si se cumple la condicin, caso
contrario se ejecuta otro conjunto de instrucciones.

V
Condicin

Instrucciones_B

Instrucciones_A

Ejemplo
Realizar un algoritmo que permita ingresar 2 nmeros, luego determinar
si el primer nmero ingresado fue el mayor (mostrar un mensaje).
1. Anlisis.
i. Qu te piden que realices?
Evaluar 2 nmeros para determinar si el primer nmero
ingresado fue el mayor.
ii. Qu datos necesito conocer?
Los 2 nmeros.
2. Planteamiento Lgico.
La forma directa de poder saber si un nmero es mayor a otro es
creando una condicin relacional. A > B
3. Definicin de variables de entrada.
Se requerirn dos variables, N1 y N2 que representen a los nmeros
que se evalan.
4. Definicin de variables de salida.
Para este problema no existirn variables de salida debido a que se
desea mostrar solo mensajes.
5. Programa
Private Sub CommandButton1_Click()
N1 = val(text1.text)

164

AP. Formacin Online.

Microsoft Office Excel 2010


N2 = val(text2.text)
If n1>n2 then
Textbox1.text = El primer nmero es el mayor
Else
Textbox1.text = El segundo nmero es el mayor
End If
End Sub

6. Diagrama de Flujo
INICIO
Declaracin de variables
N1, N2: entero

N1, N2
F

V
A>B

El primer
nmero no
es mayor

El primer
nmero es
mayor

FIN

Sentencia seleccin-caso
Esta es una estructura de decisin mltiple, evaluar una expresin condicional
que podr tomar uno de los n valores distintos que para algunos casos puede
tratarse de rangos o valores individuales, segn cumpla con uno de estos.

AP. Formacin Online.

165

Microsoft Office Excel 2010

Ejemplo
Un movil recorre un tramo de la carretera con Movimiento Rectilneo Uniforme
(MRU), determinar y mostrar cual es el espacio recorrido:
Espacio = Velocidad * Tiempo
Adicionalmente mostrar un mensaje que indique el consumo de gasolina segn la
tabla:
Espacio Recorrido

Gasolina

0 y 30

1 galn

31 y 60

2 galones

61 y 200

3 o ms galones

1. Anlisis.
ii. Qu te piden que realices?
Calcular el espacio recorrido y en base a ello mostrar cuanta
gasolina se consume.
iii. Qu datos necesito conocer?
La velocidad y el tiempo (segn formula).
2. Planteamiento Lgico.
El desarrollo es simple, solamente deber ingresar la velocidad y el tiempo
para calcular el espacio recorrido, en base a ello deber observar la tabla para
que desarrolle la estructura correspondiente y muestre el mensaje solicitado.
Ejemplo:
Si el espacio recorrido es de 25 kilmetros
El mensaje es 1 galn.
3. Definicin de variables de entrada.
Se requerirn dos variables, V y T que representen a la velocidad y el tiempo
respectivamente.
4. Definicin de variables de salida.
La variable de salida estar representada por E.
5. Programa.
Private Sub CommandButton1_Click()
v = val(text1.text)
t = val(text2.text)
e = v*t
166

AP. Formacin Online.

Microsoft Office Excel 2010


Select case e
case 0 to 30
text3.text =Debe usar un galn
case 31 to 60
text3.text =Debe usar dos galones
case 61 to 200
text3.text =Debe usar tres galones
End select
End Sub

6. Diagrama de flujo.
INICIO
Declaracin de variables
V, T, E: entero
V, T
E=V*T

E
31 y 60

0 y 30

Debe
usar 1
galn

60 y 200

Debe
usar 2
galones

Debe
usar 3 o
ms
galones

FIN

Estructura Repetitiva.
Conjunto de instrucciones que se repiten un nmero determinado de veces
mientras se cumple una determinada condicin o en todo caso se le ha dado un
lmite de veces a ejecutar.
Inicio de Bucle

Instruccin 1

Instruccin N

AP. Formacin Online.

167
Fin de Bucle

Microsoft Office Excel 2010

Contador. Los procesos repetitivos por lo general lo utilizan, ya que necesitan


contar los sucesos o acciones internas del bucle. Una
Inicio de Bucle
de las formas de controlar un bucle es mediante un
contador. Un contador es una variable cuyo valor
crece o decrece en una cantidad constante por cada
vuelta (interaccin) que da el bucle.
C=C+1

Inicio de Bucle
Fin de Bucle

Acumulador. Es denominado tambin totalizador,


es una variable cuya misin es almacenar cantidades
o valores resultantes de sumas sucesivas. Realiza la
misma funcin que un contador con la diferencia de
que el incremento o decremento de cada suma es
variable en lugar de constante como en el caso del
contador.

AC = AC + N

Fin de Bucle

Ejemplo
Desarrollar un algoritmo que permita calcular y mostrar la suma de los n
primeros nmeros naturales, deber ingresar el lmite de nmeros a sumar.
S = 1 + 2 + 3 + 4 + 5 +... + n
1. Anlisis.
i. Qu te piden que realices?
Calcular la suma de n nmeros naturales.
ii. Qu datos necesito conocer?
La cantidad de nmeros a sumar.
2. Planteamiento Lgico.
Este problema se puede haciendo uso de acumuladores y contadores.
3. Definicin de variables de entrada.
Se requerirn una variable que represente a la cantidad de nmeros a
sumar(N).
4. Definicin de variables de salida.
Tilizaremos la variable AC.
5. Programa
General

Declaraciones

Dim i As Byte
Dim AC As Integer

168

AP. Formacin Online.

Microsoft Office Excel 2010


Private Sub CmdProcesar_Click()
List1.Clear
AC = 0
For i = 1 To Val(Text1.Text)
List1.AddItem Str(i)
AC = AC + i
Next i
Text2 = AC
End Sub
Private Sub CmdLimpiar_Click()
Text1 = 0
Text2 = 0
Text1.SetFocus
End Sub
Private Sub CmdSalir_Click()
If MsgBox("Desea salir?", vbInformation + vbYesNo, "SALIDA") = vbYes Then
End
End If
End Sub

6. Diagrama de flujo
INICIO
Declaracin de variables
I, N, AC: entero
N
AC = 0
Para I=1
Hasta N
AC = AC + I
AC

FIN

AP. Formacin Online.

169

Microsoft Office Excel 2010

La ventana del editor de Visual Basic


Para trabajar en el Entorno de Visual Basic, hacer lo siguiente.

Hacer clic en la ficha

, botn

Se presenta la ventana de programacin Visual Basic

Barra de men

Barra de herramienta

Ventana
proyecto

de

Formulario
Cuadro
de
herramientas

A continuacin se describen los principales elementos de la ventana de Microsoft


Visual Basic.
a. Barra de Mens
Presenta los comandos que se usan para trabajar con Visual Basic. Adems
de los mens estndar Archivo, Edicin, Ver, Insertar, Formato, Depuracin,
Ejecutar, Herramientas, Complementos, Ventana y Ayuda.
b. Barra de Herramientas
Permite un acceso directo (solo un clic) a muchas de las operaciones ms
frecuentes utilizadas durante el desarrollo de aplicaciones.
c. Cuadro de Herramientas
Contiene todos los objetos y controles que se pueden aadir a los formularios
para crear aplicaciones.
170

AP. Formacin Online.

Microsoft Office Excel 2010

d. Diseador de Formularios
Funciona como una ventana en la que se puede personalizar el diseo de la
interfaz de usuario (ventana) de una aplicacin.
e. Explorador de Proyectos
Lista de los archivos (formularios, mdulos, etc.) del proyecto actual. Un
Proyecto es una coleccin de archivos que utiliza para construir una
aplicacin.
f. Ventana de Propiedades
Lista los valores de las propiedades del formulario o control seleccionado
que pueden ser modificados durante el diseo del formulario o control.
g. Ventana de Cdigo
Funciona como un editor para escribir el cdigo (sentencias) de la
aplicacin. Cuando se ingresa el nombre de una funcin en la ventana de
cdigo, Visual Basic automticamente proporciona el formato o sintaxis de
la funcin.

Terminologa de Visual Basic


Conforme trabaje con VBA necesitar estar familiarizado con los siguientes
trminos:
Trmino

AP. Formacin Online.

Definicin

Tiempo de diseo

Es el momento en el que se construye la aplicacin.

Tiempo de ejecucin

Es el momento en el cual ejecutamos aplicacin.

Formulario

ES el contenedor de los controles donde se disea la


aplicacin, tambin conocida como interfaz de
usuario.

Controles

Representacin grfica de objetos tales como botones,


cuadros de lista, cuadros de edicin, etc.

Objetos

Un trmino general usado para describir todos los


formularios y controles que forman parte de la
aplicacin.

Propiedades

Los valores de un objeto, tales como tamao, ttulo,


color, etc.

Mtodos

Las acciones que un objeto puede realizar sobre s


mismo.

Eventos

Son acciones reconocidas por un formulario o control.


Los eventos ocurren a medida que el usuario interacta

171

Microsoft Office Excel 2010

con los objetos de la aplicacin.


Programacin
controlada por
eventos

La programacin controlada por eventos es la esencia


de las interfaces grficas de usuario; el usuario acciona
y el cdigo responde.

Programacin por eventos


En las aplicaciones manejadas por eventos, la ejecucin no sigue una ruta
predefinida. En vez de esto, se ejecutan diferentes secciones de cdigo en
respuesta a eventos.
La secuencia de eventos determina la secuencia en que el cdigo se ejecuta. Es
por esto que la ruta que sigue el cdigo de la aplicacin es diferente cada vez que
se ejecuta el programa.

Convenciones para los nombres de los objetos


Los objetos deben llevar nombres con un prefijo coherente que facilite la
identificacin del tipo de objeto. A continuacin se ofrece una lista de
convenciones recomendadas para algunos de los objetos permitidos poro Visual
Basic.

Tipo de Control

172

Prefijo

Detalles

Etiqueta

lbl

lblAPELLIDOS

Cuadro de texto

txt

txtAPELLIDO

Casilla de verificacin

chk

chkIMPRESORA

Botones de opcin

opt

optCPU

Cuadro combinado, cuadro


lista desplegable

cbo

cboCUDADES

Cuadro de lista

lst

lstPAISES

Botn de comando

cmd

cmdSALIR

Formulario

frm

frmENTRADA

Marco

fra

fraTIPOS

Lnea

lin

linVERTICAL

Imagen (Picture)

pic

picLOGOTIPO

Cuadro de nmero

spn

spnPGINAS

AP. Formacin Online.

Microsoft Office Excel 2010

Formularios
El formulario es el principal medio de
comunicacin entre el usuario y la
aplicacin. Los usuarios interactan con los
controles sobre el formulario para ingresarle
datos y obtener resultados, para mostrar las
propiedades de un objeto pulsar F4.
Propiedades
BackColor

Color de fondo del formulario.

Caption

Texto en la barra de ttulo del formulario.

Enabled

True/False. Determina si est habilitado para responder a las


acciones del usuario.

Left y Top

Ubicacin del formulario.

Name

Nombre del formulario.

Eventos
Activate

Ocurre cuando el formulario se convierte en la ventana activa.

Click

Ocurre cuando hace clic sobre el formulario.

Deactivate

Ocurre cuando el formulario deja de ser la ventana activa.

Aadir controles al formulario


Para aadir controles a un formulario lo hacemos de la siguiente manera:
1. Haga clic sobre el control en el Cuadro de Herramientas.
2. Ubique el puntero del Mouse (una cruz) sobre el formulario en la
esquina superior izquierda donde desea colocar el control.
3. Realice un clic sostenido mientras arrastra el puntero a la esquina
superior derecha donde colocar el control.
4. Suelte el botn del Mouse.
Estos cuatro pasos se repiten con cada control que desea aadir al
formulario.
La Ventana de Cdigo
La Ventana de Cdigo se usa para escribir, mostrar y editar el cdigo de su
aplicacin. Puede abrir una ventana de cdigo por cada mdulo de su aplicacin,
de modo que puede fcilmente copiar y pegar entre ellos. El editor de texto es
solo un editor ASCII.
AP. Formacin Online.

173

Microsoft Office Excel 2010

La Ventana de Cdigo contiene:

Lista de eventos

Lista de objetos

La barra de divisin

a. El Cuadro Lista de Objetos


Muestra el nombre del objeto seleccionado. Haga clic en la flecha a la
derecha del cuadro Objeto para mostrar una lista de todos los objetos
asociados con el formulario.
b. El Cuadro Lista de Eventos
Muestra todos los eventos reconocidos para el formulario o control mostrado
en el cuadro Objeto. Cuando seleccionamos un evento, en la ventana de
cdigo se muestra el procedimiento de evento asociado con ese evento.
Ejemplo:
c. La Barra de Divisin
Permite dividir la ventana de cdigo en dos partes.

Editando Cdigo
Use las caractersticas de edicin de Visual Basic para que su cdigo sea ms
fcil de leer.
Sangra
Use la sangra para diferenciar partes de su cdigo, tales como estructuras
repetitivas y condicionales. Veamos el siguiente ejemplo:
Private Sub cmdIngresar_Click()
If Len(Trim(txtUsuario))=0 Then

Para aplicar sangra a una


seccin de sentencias de un
cdigo use la tecla Tab.

txtUsuario.SetFocus
ElseIf Len(Trim(txtContrasea))=0 Then
txtContrasea.SetFocus
ElseIf txtContrasea = AGPS Then

174

AP. Formacin Online.

Microsoft Office Excel 2010


MsgBox La clave ingresada es correcta
Unload Me
Else
MsgBox La clave ingresada no es vlida
txtContrasea.SelStart=0
txtContrasea.SelLength= Len(Trim(txtContrasea))
txtContrasea.SetFocus
End If
End Sub

Comentarios
El aadir documentacin y comentarios a su cdigo permite comprender mejor lo
que hace el cdigo. El texto que contine al smbolo de comentario ser ignorado
en la ejecucin de la aplicacin. Veamos el siguiente ejemplo:
Private Sub cmdLimpiar_Click()
'Este procedimiento limpia la ventana de identificacin
txtUsuario.Text = "" 'Limpia el cuadro de texto

Un comentario se
inicia con el carcter
apstrofe ( )

txtUsuario.SetFocus ' Mueve el enfoque a txtUsuario


End Sub

Creacin y uso de procedimientos


En las aplicaciones tradicionales o procedurales, es la aplicacin quien controla que
porciones de cdigo se ejecuta, y la secuencia en que este se ejecuta. La ejecucin de la
aplicacin se inicia con la primera lnea de cdigo, y sigue una ruta predefinida a travs
de la aplicacin, llamando procedimientos segn sea necesario.

Procedimientos
Existen dos tipos de procedimientos con los que se trabaja en Visual Basic: los
procedimientos de evento y los procedimientos generales.

Procedimientos de Evento
Visual Basic invoca automticamente procedimientos de evento en respuesta a
acciones del teclado, del ratn o del sistema. Cada control tiene un conjunto fijo
de procedimientos de evento. Los procedimientos de evento para cada control
son mostrados en un cuadro de lista despegable en la ventana de cdigo.

AP. Formacin Online.

175

Microsoft Office Excel 2010

El cdigo que se escriba en el


procedimiento de evento Click es
ejecutado cuando el usuario haga
clic en un botn de comando.

Procedimientos Generales
Son procedimientos Sub o Function que son creados para que lleven a cabo tareas
especficas.
Para crearlos hacer clic en el men Insertar, Procedimiento.
Si se tiene cdigo duplicado en varios procedimientos de evento, se puede
colocar el cdigo en un procedimiento general y luego invocar al procedimiento
general desde los procedimientos de evento.

Procedimientos Sub
Los procedimientos Sub no retornan valores. Por ejemplo:
Public Sub Seleccionar(Cuadro As TextBox)
Cuadro.SelStart = 0
Cuadro.SelLength = Len(Cuadro.Text)
End Sub

Los procedimientos Sub son invocados especificando slo el nombre del


procedimiento, o empleando la instruccin Call con el nombre del procedimiento.
Por ejemplo:
Call Seleccionar(Text1)

Si se emplea la instruccin Call, se debe encerrar la lista de argumentos entre


parntesis. Si se omite Call, tambin se deben omitir los parntesis alrededor de
la lista de argumentos.

176

AP. Formacin Online.

Microsoft Office Excel 2010

Procedimientos Function
Los procedimientos Function devuelven valores. En el siguiente ejemplo, el
procedimiento Function recibe un nmero y devuelve ese nmero al cuadrado.
Public Function Cuadrado(N As Integer) As Integer
Cuadrado = N * N
End Function

Si se desea guardar el valor devuelto, se debe usar parntesis cuando se invoque a


la funcin, como se muestra a continuacin:
Resultado = Cuadrado (5)

Si se omiten los parntesis, se puede ignorar el valor devuelto y no guardarlo en


una variable. Esto puede ser til si se quiere ejecutar una funcin y no se desea el
valor devuelto. Por ejemplo:

mbito de las variables.


Denominamos mbito de una variable a las partes del programa donde esa
variable est declarada. Para entenderlo mejor, veamos someramente la forma de
un programa desarrollado en VB.
A estas partes las habamos llamado Procedimientos. Podemos tener
procedimientos que no estn relacionados con ningn evento ocurrido al
formulario o a sus controles. (Los Procedimientos que iremos insertando a lo
largo de la aplicacin).
:

Aqu puede insertar proc. y funciones del mdulo.


Si se declara una variable dentro de un procedimiento o
Funcin, esa variable tiene como mbito el Procedimiento
o Funcin donde se declar.

En un Formulario, una variable puede declararse de dos formas:


Privada o Pblica.
Variable Privada tiene como mbito slo el proc. y funcin donde
fue declarada
Variable Pblica tiene como mbito todos los proc. y funciones
del formulario y sus controles.
Variable a nivel de formulario debe declararse en la seccin de
declaraciones, que est la ventana de cdigo Objeto = General,
Proc. = Declaraciones. Tiene como mbito todo el formulario
En un Mdulo una variable puede declararse como Privada, con
lo que no saldr de ese Mdulo, o Pblica, pudiendo en este caso
usarse en todo el programa

No es recomendable declarar variables con el mismo nombre.


AP. Formacin Online.

177

Microsoft Office Excel 2010

Formas de declaracin de variables en un proyecto VB.


Sentencia Dim
Es la forma ms comn de declarar una variable como Privada. Puede emplearse
en un Procedimiento, Funcin, Formulario o Mdulo. La sintaxis es de la
siguiente forma:
Dim nombrevariable As Integer

Sentencia PRIVATE

Su mbito depende donde la declaro.


Cada vez que entremos al formulario,
procedimiento o mdulo, esa variable tomar el
valor cero (si es numrica) o nulo (si es string).

Es la forma de declarar una variable como Privada. Puede emplearse solamente


en la seccin de declaraciones de un Formulario o Mdulo. La sintaxis es de la
siguiente forma:
Private nombrevariable As Tipovariable

La variable NO puede utilizarse fuera


del Formulario o Mdulo donde se
declar.

La sentencia Private no puede usarse en un


procedimiento o funcin.

Sentencia PUBLIC
Puede emplearse solamente en la seccin de declaraciones de un Formulario o
Mdulo. La sintaxis es de la siguiente forma:
Public nombrevariable As Tipovariable

Si se declara de esta forma en la


seccin de declaraciones de un
Formulario, esa variable puede usarse
en toda el programa.

Para nombrarla, si estamos en el Formulario


donde se declar basta con citarla por su
nombre. Si no estamos en ese Formulario,
habr que citarla por el nombre del Formulario, seguido del nombre de la
variable, separado por un punto:
NombreFormulario.Nombrevariable

Sentencia GLOBAL
Una variable declarada como Global es reconocida en cualquiera de los
formularios y mdulos del proyecto. La sintaxis es:
Global nombrevariable As tipovariable

La sentencia Global slo puede usarse


en el apartado de declaraciones de un
Mdulo.

Sentencia STATIC
Variable esttica permite retener el valor de la variable cuando se vuelve a
invocar el proc. o funcin. Esta declaracin como esttica se realiza mediante la
instruccin Static
Static nombrevariable As tipovariable

178

Slo `puede declararlo dentro


de un procedimiento o funcin.

AP. Formacin Online.

Microsoft Office Excel 2010

Pese a que Visual Basic no obliga a declarar variables, es muy til hacerlo. De
esta forma se tiene control sobre el programa. La experiencia se lo ir
demostrando.

Resumen de declaracin de variables


Procedimiento

La variable no puede usarse Dim Variable As


fuera de esta Procedimiento Tipovariable

Procedimiento, como
permanente

La variable no puede usarse Static Variable As


fuera de este procedimiento, y Tipovariable
dentro de l conserva el valor
aunque se salga y se vuelva a
entrar

Formulario

Solamente se puede usar en Dim Variable As


ese Formulario
Tipovariable

En su seccin de
declaraciones, como
Privada
Formulario
En su seccin de
declaraciones, como
Pblica
Mdulo
Como Privada

Private Variable As
Tipovariable
Puede usarse en toda la Public Variable As
aplicacin
Tipovariable

Solamente puede usarse en Dim Variable As


ese Mdulo
Tipovariable
Private Variable As
Tipovariable

Mdulo
Como Pblica

Puede usarse en toda la Public Variable As


aplicacin
Tipovariable
Global Variable As
Tipovariable

Forma de conocer el tipo de una variable. Funcin TypeName


Podemos conocer el tipo con el que se ha declarado una variable. Esto se hace
mediante la Funcin TypeName, que devuelve una cadena con el tipo de una
variable.
MiTipo = TypeName(NombreVariable)

NombreVariable puede ser cualquier variable con excepcin de las de tipos


definidos por el usuario.
AP. Formacin Online.

179

Microsoft Office Excel 2010

La cadena de caracteres devuelta por TypeName puede ser una de las siguientes:
Cadena devuelta

La variable contiene

Byte

Un byte

Entero

Un entero.

Largo

Un entero largo.

Simple

Un nmero de punto flotante de precisin simple.

Doble

Un nmero de punto flotante de precisin doble.

Moneda

Un valor de moneda.

Fecha

Una fecha.

Cadena

Una cadena.

Boolean

Un valor Boolean.

Error

Un valor de error.

Empty

No inicializado.

Null

No hay datos vlidos.

Objeto

Un objeto que no respalda Automatizacin OLE.

Desconocido

Un objeto de Automatizacin OLE cuyo tipo es


desconocido.

Nada

Una variable de objeto que no se refiere a un objeto.

Si NombreVariable es una matriz, la cadena devuelta puede ser cualquiera de las


cadenas posibles con un parntesis vaco adherido. Por ejemplo, si
NombreVariable es una matriz de enteros, TypeName devolver "Integer()".

Objetos propiedades, mtodos y eventos


Control Etiqueta (Label)
Se utiliza para mostrar
texto que el usuario no puede modificar.
Generalmente para identificar otros controles en el formulario o para mostrar
instrucciones al usuario.
Propiedades

180

Name

Nombre del control.

AutoSize

True/False. Determina si el tamao del control se ajusta


automticamente al texto que contiene.

Caption

Texto que muestra el control.

Font

Establece la fuente, estilo y tamao para el texto del control.


AP. Formacin Online.

Microsoft Office Excel 2010

Control Cuadro de Texto (Textbox)


Se utiliza para que el usuario le
proporcione datos a la aplicacin o
para que la aplicacin le devuelva la informacin al usuario. El texto que se
muestra en el control puede ser cambiado por el usuario.
Propiedades
Enabled

True/False. Establece un valor que determina si el control


puede responder a eventos generados por el usuario.

Font

Establece la fuentes, estilo y tamao para el texto del control.

Locked

True/False. Determina si es posible modificar el texto en el


control.

MaxLength

Establece la longitud mxima permitida para el texto en el


control.

MultiLine

Establece si el control puede aceptar mltiples lneas de texto.

Name

Nombre del control.

PasswordChar

Carcter utilizado para ocultar el texto que realmente contiene


el control.

Text

Texto que realmente contiene y muestra el control.

Visible

Establece si el control ser visible para el usuario.

Eventos
Change

Ocurre cuando cambia el texto que contiene el control.

KeyDown

Ocurre cuando el usuario presiona una tecla mientras el


control tiene el enfoque.

Control Botn de Comando (Commandbutton)


Permite que la aplicacin inicie, interrumpa o termine

un proceso.

Propiedades
Caption

Establece el texto que muestra el botn.

Font

Establece la fuente, estilo y tamao para el texto del control.

Name

Nombre del botn.

Visible

True/False. Establece si el botn ser visible para el usuario.

Eventos
Click

AP. Formacin Online.

Ocurre cuando se hace clic sobre el botn.

181

Microsoft Office Excel 2010

Estableciendo Propiedades
Al disear la interface de usuario de una aplicacin Visual Basic, se deben
establecer la propiedades para los controles (objetos) creados.
Estableciendo Propiedades en Tiempo de Diseo
Algunas propiedades pueden ser establecidas en tiempo de diseo.
Para establecer estas propiedades se emplea la ventana de propiedades.
Si selecciona varios objetos a la vez y accede a la ventana de propiedades, slo se
mostrarn las propiedades que son
comunes para todos los controles seleccionados. Cualquier cambio que se haga a
una propiedad ser aplicada a todos los controles.
Para acceder a la ventana de
propiedades, oprima en botn
secundario del ratn sobre un
objeto, y luego haga clic en
Propiedades.
Tambin se puede obtener el
mismo resultado seleccionado el
objeto y luego presionando F4

Estableciendo Propiedades en Tiempo de Ejecucin


En tiempo de ejecucin, se puede escribir cdigo para establecer u obtener el
valor de una propiedad.
txtData.Font.Bold = True

La siguiente lnea de cdigo establece a negrita la


fuente de un cuadro de texto llamado txtData.

Este cdigo establece la propiedad Text del cuadro de texto txtData


txtData.Text = "Hola mundo"

Establece el valor del texto

Si se omite el nombre de la propiedad, se establece la propiedad predeterminada


del control. La propiedad predeterminada de un cuadro de texto es la propiedad
Text. La propiedad predeterminada de una etiqueta es la propiedad Caption. Las
siguientes lneas de cdigo establecen las propiedades predeterminadas text y
caption de un cuadro de texto y de una etiqueta.
Se establece la propiedad Text del cuadro de texto

txtData = Pedro

Se establece la propiedad Caption de la etiqueta

lblData = "Nombre

182

AP. Formacin Online.

Microsoft Office Excel 2010

Obteniendo Propiedades en Tiempo de Ejecucin


Puede emplear el siguiente cdigo para obtener el valor de una propiedad en
tiempo de ejecucin.
Dim sNombre as String
sNombre = txtName.Text

Asigna a la variable sNombre el valor del cuadro de texto


txtName

Definicin de variables, tipos de datos y constantes


Una variable es un lugar de memoria en la memoria del computado.
Es un nombre que en el programa le asignamos a un dato.
Ese dato podr cambiar.

Variable

Piense por ejemplo, en un programa


consistente en la toma de datos de los
alumnos de un centro escolar. Existirn varias Valor de la variable
variables para poder introducir los datos de los
alumnos. Estas variables pueden tener nombre tales como:
Nombre, Apellido_Paterno,

Apellido_Materno, Direccion, Telefono,

La variable Nombre tomar valores distintos segn vayamos introduciendo los


datos de los distintos alumnos. Es posible, que a lo largo de la ejecucin del
programa, esta variable Nombre contenga los datos:
Option Explicit
Obliga a declarar previamente las variables que se vayan a usar.
Esta declaracin debe ponerla al comienzo de la seccin de declaraciones de cada
formulario y mdulo que contenga su aplicacin.

Tipos de Variables
Las variables pueden ser de los siguientes tipos: (El nmero indicado en segundo
lugar indica el nmero de Bytes que ocupa en memoria.)
VARIABLE ESPACIO
QUE
OCUPA

AP. Formacin Online.

DETALLES

Booleana

2 Bytes

Admite los valores 0 y 1, o True (verdadero) y


False (falso)

Byte

1 Bytes

Nmeros enteros, en el rango de 0 a 255

183

Microsoft Office Excel 2010

Integer

2 Bytes

Nmeros enteros en el rango de -32768 a 32767

Long

4 Bytes

Nmeros enteros en el rango de -2147483648 a


2147483647

Single

4 Bytes

Punto flotante, simple precisin

Doble

8 Bytes

Punto flotante, doble precisin.

Currency

String

Entero,
con punto
decimal
fijo
(Tpico de
monedas)
*

Cadenas alfanumricas de longitud variable o fija.


Una variable tipo String ocupa el mismo nmero
de bytes que caracteres tenga la cadena.

Date

8 Bytes

Fechas

Objet

4 Bytes

Referencia a objetos

Otros tipos de datos.

Variant

Una variable tipo Variant ocupa 16 bytes si se


trata de un nmero y 22 bytes + longitud de la
cadena si se trata de un dato tipo cadena de
caracteres.
Los bytes necesarios para almacenar esa variable dependern de los datos que se
hayan definido.
NOTA. Observe en la lista anterior que un dato Booleano ocupa 2 Bytes,
mientras que un dato tipo Byte ocupa un byte. En muchas ocasiones declaramos
variables tipo Boolean con la intencin de que ocupen menos espacio.

Declaracin de variables
Para declarar una variable se utiliza la sentencia Dim.
Sintaxis:

Dim nombre_variable As Tipo_variable

Tipos de variables
A continuacin se describen los tipos de variable.

184

AP. Formacin Online.

Microsoft Office Excel 2010

a. Variables Alfanumricas
Es toda informacin que va a contener texto o la unin de textos y nmeros;
informacin que no representa clculos matemticos.
Ejemplo:
Nombre de una persona

Dim nombres As String

Apellido Paterno de una persona

Dim apel_pat As String

Direccin de una persona

Dim direccion As String

Definiendo la cantidad de caracteres que aceptar la variable


Dim nombres1 As String

nombres1 puede tener cualquier nmero de caracteres.

Dim nombres2 As String *15

nombres2 puede tener un mximo de 15 caracteres.

En el caso del DNI, cdigo postal, No. De calle, piso del edificio, etc. Es
recomendable declararlo como cadena. Para ahorrar memoria.

b. Variable Numricas
Qu variables debemos declarar entonces como numricas ? La respuesta es
bien sencilla: Aquellas que van a contener datos con lo que vamos a realizar
operaciones matemticas.
Ejemplo:
Edad de una persona

Dim nombres As Byte

Nota de un curso

Dim nota1 As Byte

Sueldo Bsico

Dim basico As Single

Bonificaciones

Dim boni1 As Single

Las variables booleanas (True/False) pueden en muchos casos sustituirse por una
variable del tipo Byte. Si ese datos True / False se va a introducir en una base de
datos o en fichero en el disco, puede ser ms prudente poner 0 en vez de False y 1
en vez de True.
Una variable byte ocupa muy poco, simplemente 1 byte como su nombre indica.
Pero no puede contener nmeros mayores de 255 ni nmeros negativos.
Cada vez que declare una variable numrica piense en los valores que puede
tener, sobre todo cuando esa variable va a ser el resultado de una operacin
matemtica. Recuerde el escaso margen de una variable tipo Integer ( de -32768
a 32767)
Si la aplicacin va a tratar moneda, piense en la forma de expresar los nmeros
decimales y el nmero de ellos permitidos, as como el redondeo.
AP. Formacin Online.

185

Microsoft Office Excel 2010

La variable correcta para este caso es Currency, pero Currency le aade


automticamente el tipo de moneda de cada pas lo que con frecuencia es un
engorro. Los datos del tipo de moneda los toma del sistema operativo del
ordenador, por lo que no se extrae si le expresa el nmero en dlares. Cambie el
pas en su Sistema Operativo Windows.

c. Variable Date
Otro tipo de variable es Date. Este tipo de variable representa una fecha.
Ejemplo:
Fecha de nacimiento de una persona Dim fnac As Date

d. Variable Boolean
Este tipo de variable representa dos valores TRUE (verdadero) o FLASE (falso).
Ejemplo:
Sexo

Dim sexo As Boolean

Error tpico de un programador novel


Creo que esta costumbre viene del lenguaje C. Pero no vale en VB. Se trata de
declarar varias variables juntas en una misma lnea:
Dim Variable1, Variable2, Variable3, Variable4 As String
Esta declaracin est MAL hecha. Visual Basic interpretar que Variable1,
Variable2 y Variable3 son del tipo Variant, y solamente Variable4 la supone
como tipo String
La forma correcta de hacerlo, si queremos declarar esas variables un una sola
lnea, es la siguiente :
Dim Variable1 As String, Variable2 As String, Variable3 As String, Variable4
As String.

Constantes
Una constante es un nombre significativo que sustituye a un nmero o una
cadena que no vara. Hay dos orgenes para las constantes:

186

Constantes intrnsecas o definidas por el sistema proporcionadas por


Visual Basic.

Las constantes simblicas o definidas por el usuario se declaran mediante


la instruccin Const.

AP. Formacin Online.

Microsoft Office Excel 2010

La sintaxis para declarar una constante es la siguiente:


[Public|Private] Const nombre_constante [As tipo] = expresin
El argumento nombre_constante es un nombre simblico vlido (las reglas son
las mismas que para crear nombres de variable) y expresin est compuesta por
constantes y operadores de cadena o numricos; sin embargo, no puede utilizar
llamadas a funciones en expresin. Una instruccin Const puede representar una
cantidad matemtica o de fecha y hora:
Const conPi = 3.14159265358979
Public Const conMaxPlanetas As Integer = 9
Const conFechaSalida = #1/1/95#

Se puede utilizar tambin la instruccin Const para definir constantes de cadena:


Public Const conVersion = 07.10.A
Const conNombreClave = Enigma

Puede colocar ms de una declaracin de constante en una nica lnea si las


separa con comas:
Public Const conPi=3.14, conMaxPlanetas=9, conPobMundial=6E+09

Operadores
a. Aritmticos
^

Exponenciacin

Multiplicacin

Divisin

Divisin entera

Mod

Residuo entero (Ejm: A Mod B)

Suma

Resta

&

Concatenacin de cadenas

b. Comparacin

AP. Formacin Online.

Igual

<>

Distinto

<

Menor que

187

Microsoft Office Excel 2010

<=

Menor o igual

>=

Mayor o igual

Like

Compara dos cadenas

Cero o ms caracteres (Ejm: cad Like ma*)

Cualquier carcter

Cualquier dgito (0-9)

c. Lgicos
And

Y lgico

Or

O lgico

Xor

O Exclusivo

Not

Negacin

Construcciones: If then, Select Case


Las estructuras condicionales le permiten controlar el flujo de ejecucin del programa.
A continuacin se describen las estructuras de control

Condicional simple. If .. then


Use la estructura If...Then para ejecutar una o ms instrucciones basadas en una
condicin. Puede utilizar la sintaxis de una lnea o un bloque de varias lneas:

If condicin Then Sentencias

If condicin Then
Sentencias
End If

Donde:
Condicin. Es una expresin lgica, que devuelve un valor lgico: Verdadero o
falso. Ejemplo:
If cualquierFecha < Now Then CualquierFecha = Now

If then en una sola lnea,


slo puede ejecutar una
lnea de cdigo

o
If cualquierFecha < Now Then
CualquierFecha = Now

De este otro modo se pueden ejecutar varias lneas de


cdigo

End If

188

AP. Formacin Online.

Microsoft Office Excel 2010

Condicional doble If...Then...Else


Utilice un bloque If...The...Else para definir varios bloques de sentencias, uno de
los cuales se ejecutar:
If condicin1 Then
[bloque de sentencias 1] Se evala esta condicin si es verdadera se ejecuta el
[ElseIf condicin2 Then

bloque de sentencias 1

[bloque de sentencias 2]] ...


[Else
[bloque de sentencias n]]
End If

Si es falsa la condicin1, evala la condicin2, si es


verdadera ejecuta el bloque de sentencias 2

Si no se cumple ninguna condicin se ejecuta el bloque


de sentencias n

Por ejemplo, la aplicacin podra realizar distintas acciones dependiendo del


control en que se haya hecho clic de una matriz de controles de men:
Private Sub mnuCut_Click (Index As Integer)
If Index = 0 Then

Comando Cortar

CopyActiveControl Llama a procedimientos generales


ClearActiveControl
ElseIf Index = 1 Then Comando Copiar
CopyActiveControl
ElseIf Index = 2 Then Comando Borrar
ClearActiveControl
Comando Pegar

Else

PasteActiveControl
End If
End Sub
o
If ClaveUsuario=DSI Then
Permite al usuario entrar al sistema
...
...
Else
Mostrar un mensaje advirtiendo error en la clave
...
...
End If

AP. Formacin Online.

189

Microsoft Office Excel 2010


o
Private Sub DeterminaCondicin ( )
If Val (txtPromedio) >=13 Then
txtCondicin = Aprobado
ElseIf Val (txtPromedio) >= 10 Then
txtCondicin = Asistente
Else
txtCondicin = Desaprobado
End If
End Sub

Observe que siempre puede agregar ms clusulas ElseIf a la estructura If...Then.


Sin embargo, esta sintaxis puede resultar tediosa de escribir cuando cada ElseIf
compara la misma expresin con un valor distinto. Para estas situaciones, puede
utilizar la estructura de decisin Select Case.

Condicional mltiple Select Case


Visual Basic proporciona la estructura Select Case para ejecutar selectivamente
un bloque de sentencias entre varios bloques.
La estructura Select Case funciona con una nica expresin de prueba que se
evala una vez solamente, al principio de la estructura. Visual Basic compara el
resultado de esta expresin con los valores de cada Case de la estructura. Si hay
una coincidencia, ejecuta el bloque de sentencias asociado a ese Case:
Selec Case expresin_prueba
[Case lista_expresiones1
[bloque de sentencias 1]]
[Case lista_expresiones2
[bloque de sentencias 2]]

Si hay ms de un valor en una lista, se


separan los valores con comas.
Cada bloque de sentencias contiene cero o
ms instrucciones.
Si ms de un Case coincide con la expresin
de prueba, slo se ejecutar el bloque de
instrucciones asociado con la primera
coincidencia.

.
.
.

[Case Else
[bloque de sentencias n]]
End Select

Cada lista_expresiones es una lista de uno a


ms valores.

Visual Basic ejecuta las instrucciones de la


clusula (opcional) Case Else si ningn valor
de la lista de expresiones coincide con la
expresin de prueba.

Por ejemplo, suponga que agrega otro comando al men Edicin en el ejemplo
If...Then...Else. Podra agregar otra clusula ElseIf o podra escribir la funcin
con Select Case:
190

AP. Formacin Online.

Microsoft Office Excel 2010


Private Sub mnuCut_Click (Index As Integer)
Select Case Index
Comando Cortar

Case 0

CopyActiveControl Llama a procedimientos generales


ClearActiveControl
Comando copiar.

Case 1

CopyActiveControl
Comando borrar.

Case 2

ClearActiveControl
Comando Pegar.

Case 3

PasteActiveControl
Case Else
frmFind.Show Muestra el cuadro de dilogo Buscar.
End Select
End Sub
o
Select Case TipoUsuario
Case Supervisor
Proporciona al usuario privilegios de Supervisor
...
...
Case Usuario
Proporciona al usuario privilegios de Usuario
...
...
Case Else
Proporciona al usuario privilegio de invitado
...
...
End Select

Observe que la estructura Select Case evala una expresin cada vez que al
principio de la estructura. Por el contrario, la estructura If...Then...Else puede
evaluar una expresin diferente en cada sentencia ElseIf. Slo puede sustituir una
esructura If...Then...Else con una estructura Select Case si la intruccin If y cada
instruccin ElseIf evala la misma expresin.

AP. Formacin Online.

191

Microsoft Office Excel 2010

Otros Ejemplos
If Ventas > 100000 Then
strDscto = Format (0.10, Fixed)
ElseIf Ventas > 50000 Then
strDscto = Format (0.05, Fixed)
Else
strDscto = Format (0.02, Fixed)
End If
Select Case Cantidad
Case 1
sngDscto = 0.0
Case 2, 3
sngDscto = 0.05
Case 4 To 6
sngDscto = 0.10
Case Else
sngDscto = 0.20
End Select
intRpta = MsgBox (Guarda cambios antes de salir , vbYesNo)
Select Case intRpta
Case vbYes
GuardarCambios
Unload Me
Case vbNo
Unload Me
End Select

Bucles For Next, While .. Do


Las estructuras de repeticin o bucle le permiten ejecutar una o ms lneas de
cdigo repetidamente. Las estructuras de repeticin que acepta Visual Basic son:

192

Do...Loop

For...Next

For Each...Next
AP. Formacin Online.

Microsoft Office Excel 2010

Do...Loop
Utilice el bucle Do para ejecutar un bloque de sentencias un nmero indefinido
de veces. Hay algunas variantes en la sentencia Do...Loop, pero cada una evala
una condicin numrica para determinar si contina la ejecucin. Como ocurre
con If...Then, la condicin debe ser un valor o una expresin que d como
resultado False (cero) o True (distinto de cero).
Do While condicin
Sentencias
Loop

Cuando se ejecuta este bucle Do, primero evala condicin. Si


condicin es False (cero), se salta todas las sentencias. Si es True
(distinto de cero) Visual Basic ejecuta las sentencias, vuelve a la
instruccin Do While y prueba la condicin de nuevo.

Por tanto, el bucle se puede ejecutar cualquier nmero de veces, siempre y


cuando condicin sea distinta de cero o True. Nunca se ejecutan las sentencias si
condicin es False inicialmente. Por ejemplo, este procedimiento cuenta las veces
que se repite una cadena destino dentro de otra cadena repitiendo el bucle tantas
veces como se encuentre la cadena de destino:
Function ContarCadenas (cadenalarga, destino)
Dim posicin, contador
posicin = 1
Do While InStr (posicin, cadenalarga, destino)
posicin = InStr (posicin, cadenalarga, destino)+1
contador = contador + 1
Loop
ContarCadenas = contador
End Function

Si la cadena destino no est en la otra cadena, InStr devuelve 0 y no se ejecuta el


bucle.
Otra variante de la instruccin Do...Loop
Do
Sentencias
Loop While condicin

Se ejecuta las sentencias primero y prueba la condicin despus de


cada ejecucin. Esta variacin garantiza al menos una ejecucin
de sentencias:

Hay otras dos variantes anlogas a las dos anteriores, excepto en que repiten el
bucle siempre y cuando condicin sea False en vez de True.
Hace el bucle cero o ms veces

Hace el bucle al menos una vez

Do Until condicin

Do

Sentencias
Loop
AP. Formacin Online.

Sentencias
Loop Until condicin
193

Microsoft Office Excel 2010

For...Next
Utiliza una variable llamada contador que incrementa o reduce su valor en cada
repeticin del bucle. La sintaxis es la siguiente:
For contador = iniciar To finalizar [Step incremento]
Sentencias
Next [contador]

Los argumentos contador,


iniciar, finalizar e incremento
son todos numricos.

El argumento incremento puede ser positivo


o negativo. Si incremento es positivo, iniciar
debe ser menor o igual que finalizar o no se
ejecutarn las sentencias del bucle.

Si incremento es negativo, iniciar debe ser mayor o igual que finalizar para que se ejecute el
cuerpo del bucle. Si no se establece Step, el valor predeterminado de incremento es 1.

Al ejecutar el bucle For, Visual Basic:


1. Establece contador al mismo valor que iniciar.
2. Comprueba si contador es mayor que finalizar. Si lo es, Visual Basic
sale del bucle. (Si incremento es negativo, Visual Basic comprueba si
contador es menor que finalizar.)
3. Ejecuta las sentencias.
4. Incrementa contador en 1 o en incremento, si se especific.
5. Repite los pasos 2 a 4.
Este cdigo imprime los nombres de todas las fuentes de pantalla disponibles:
Private Sub Form-Click ( )
Dim I As Integer
For i = 0 To Screen.FontCount
Print Screen.Fonts (i)
Next
End Sub

For Each...Next
El bucle For Each...Next es similar al bucle For...Next, pero repite un grupo de
sentencia por cada elemento de una coleccin de objetos o de una matriz en vez
de repetir las sentencias un nmero especificado de veces.
Esto resulta especialmente til si no se sabe cuntos elementos hay en la
coleccin. He aqu la sintaxis del bucle For Each...Next:

194

AP. Formacin Online.

Microsoft Office Excel 2010


For Each elemento In grupo
Sentencias

Tenga en cuenta las restricciones siguientes


cuando utilice For Each...Next:

Next elemento

El siguiente ejemplo habilita todos los


Cuadro de Texto del formulario:

Private Sub ModoEdicin ( )


Dim control

Para las colecciones, elemento slo puede


ser una variable Variant, una variable
Object genrica o un objeto mostrado en el
Examinador de objetos.
Para las matrices, elemento slo puede ser
una variable Variant.
No puede utilizar For Each...Next con una
matriz de tipos definidos por el usuario
porque un Variant no puede contener un
tipo definido por el usuario.

For Each control In form1.Controls


If TypeOf control Is TextBox Then
Control.Enabled = True
End If
Next control
End Sub

Salida de una Estructura de Control


La instruccin Exit le permite salir directamente de un bucle For o de un bucle
Do. La sintaxis de la sentencia Exit es sencilla: Exit For puede aparecer tantas
veces como sea necesario dentro de un bucle For y Exit Do puede aparecer
tantas veces como sea necesario dentro de un bucle Do:
For contador = iniciar To finalizar [Step incremento]
[bloque sentencias]
Exit For y Exit Do
[Exit For]
Son muy tiles ya que, algunas veces, resulta
[bloque sentencias]
apropiado salir inmediatamente de un bucle sin
Next [contador]
realizar ms iteraciones o sentencias dentro del
bucle.

Do [{While / Until} condicin]


[bloque de sentencias]
[Exit Do]
[bloque de sentencias]
Loop

AP. Formacin Online.

Cuando utilice la instruccin Exit para salir de


un bucle, el valor de la variable contador
difiere, dependiendo de cmo haya salido del
bucle:

Cuando termina un bucle, la variable


contador contiene el valor del lmite
superior ms el paso.

Do

[bloque de sentencias]
[Exit Do]
[bloque de sentencias]
Loop [{While / Until} condicin]

Cuando sale de un bucle prematuramente,


la variable contador conserva su valor
segn las reglas usuales del alcance.

Cuando sale antes del final


coleccin, la variable contador
Nothing si se trata de un tipo
Object y Empty si es un tipo
Variant.

de una
contiene
de dato
de dato

195

Microsoft Office Excel 2010

Trabajar con rangos de celda


Utilizando la notacin A1
Puede hacer referencia a una celda o rango de celdas del estilo de referencia A1
utilizando el mtodo Range.
La siguiente subrutina cambia el formato de las celdas A1:D5 a negrita.
Sub FormatoRango()
Workbooks("Libro1").Sheets("Hoja1").Range("A1:D5").Font.Bold = True
End Sub

La siguiente tabla muestra algunas referencias de estilo A1 utilizando el mtodo


Range.
Referencia

Significado

Range("A1")

Celda A1

Range("A1:B5")

Celdas de la A1 a la B5

Range("C5:D9,G9:H16")

Seleccin de varias
reas

Range("A:A")

Columna A

Range("1:1")

Fila 1

Range("A:C")

Columnas de la A a la C

Range("1:5")

Filas de la 1 a la 5

Range("1:1,3:3,8:8")

Filas 1, 3 y 8

Range("A:A,C:C,F:F")

Columnas A, C y F

Hacer referencia a celdas utilizando nmeros de ndice


Esta propiedad devuelve un objeto Range que representa una sola celda.
En el siguiente ejemplo, Cells(6,1) devuelve la celda A6 de la hoja Hoja1.
Entonces, la propiedad Value se establece en 10.
Sub IngreseValor()
Worksheets("Hoja1").Cells(6, 1).Value = 10
End Sub

196

AP. Formacin Online.

Microsoft Office Excel 2010

La propiedad Cells funciona bien para ejecutar bucles en un rango de celdas, ya


que puede sustituir las variables por los nmeros de ndice, como se muestra en el
siguiente ejemplo.
Sub CicloHojas()
Dim Contador As Integer
For Contador = 1 To 20
Worksheets("Hoja1").Cells(Contador,3).Value = Contador
Next Contador
End Sub

Hacer referencia a filas y columnas


Estas propiedades devuelven un objeto Range que representa un rango de celdas.
En el siguiente ejemplo, Rows(1) devuelve la fila uno de la hoja Hoja1.
A continuacin, la propiedad Bold del objeto Font del rango se establece en True.
Sub FilasNegrita()
Worksheets("Hoja1").Rows(1).Font.Bold = True
End Sub

La siguiente tabla muestra algunas referencias de fila y columna, utilizando las


propiedades Rows y Columns.
Referencia

Significado

Rows(1)

Fila uno

Rows

Todas las filas de la hoja de clculo

Columns(1)

Columna uno

Columns("A")

Columna uno

Columns

Todas las columnas de la hoja de clculo

Para trabajar con varias filas o columnas al mismo tiempo, cree una variable de
objeto y utilice el mtodo Union, combinando varias llamadas a la propiedad
Rows o Columns.

AP. Formacin Online.

197

Microsoft Office Excel 2010

El siguiente ejemplo cambia a negrita el formato de las filas uno, tres y cinco de
la hoja de clculo uno del libro activo.
Sub FilasNegritaVarios()
Worksheets("Hoja1").Activate
Dim myUnion As Range
Set myUnion = Union(Rows(1), Rows(3), Rows(5))
myUnion.Font.Bold = True
End Sub

Hacer referencia a celdas utilizando una notacin abreviada


Puede utilizar el estilo de referencia A1 o un rango con nombre entre parntesis
como mtodo abreviado para la propiedad Range.
No es necesario escribir la palabra "Range" o utilizar comillas, como se muestra
en los siguientes ejemplos.
Sub BorrarRango()
Worksheets("Hoja1").[A1:B5].ClearContents
End Sub
Sub AsinarValor()
[MyRange].Value = 30
End Sub

Hacer referencia a rangos con nombre


Es ms sencillo identificar los rangos por nombre que por la notacin A1. Para
asignar un nombre a un rango seleccionado, haga clic en el cuadro de nombre
situado a la izquierda de la barra de frmulas, escriba un nombre y, a
continuacin, presione la tecla ENTRAR.

Hacer referencia a un rango con nombre


El siguiente ejemplo hace referencia al rango denominado "MiRango" en el libro
"Libro1.xls".
Sub FormatoRango ()
Range("Libro1.xls!MiRango").Font.Italic = True
End Sub

198

AP. Formacin Online.

Microsoft Office Excel 2010

El siguiente ejemplo hace referencia al rango de hojas de clculo especfico


denominado "Hoja1!Ventas" en el libro "Libro1.xls".
Sub FormatSales()
Range("[Libro1.xls]Hoja1!Ventas").BorderAround Weight:=xlthin
End Sub

Para seleccionar un rango con nombre utilice el mtodo GoTo, que activa el libro
y la hoja de clculo y, a continuacin, selecciona el rango.
Sub LimpiaRango()
Application.Goto Reference:="Libro1.xls!MiRango"
Selection.ClearContents
End Sub

El siguiente ejemplo muestra cmo se escribira el mismo procedimiento para el


libro activo.
Sub LimpiarRango()
Application.Goto Reference:="MiRango"
Selection.ClearContents
End Sub

Ejecutar un bucle en las celdas de un rango con nombre


El siguiente ejemplo ejecuta un bucle en cada una de las celdas de un rango con
nombre utilizando un bucle For Each...Next. Si el valor de cualquiera de las
celdas del rango supera el valor de limit, el color de la celda cambia a amarillo.
Sub AplicarColor()
Const Limit As Integer = 25
For Each c In Range("MiRango")
If c.Value > Limit Then
c.Interior.ColorIndex = 27
End If
Next c
End Sub

AP. Formacin Online.

199

Microsoft Office Excel 2010

Hacer referencia a celdas en relacin con otras celdas


Una manera de trabajar con una celda relacionada con otra es utilizar la
propiedad Offset.
El siguiente ejemplo asigna un formato de doble subrayado al contenido de la
celda situada una fila ms abajo y a tres columnas de la hoja de clculo activa.
Sub SubrayadoDoble()
ActiveCell.Offset(1, 3).Font.Underline = xlDouble
End Sub

Nota. Puede grabar macros que utilicen la propiedad Offset en lugar en


referencias absolutas. En el men Herramientas elija Macro, haga clic en Grabar
nueva macro, haga clic en Aceptar y, a continuacin, en el botn Referencia
relativa en la barra de herramientas de grabacin de macros.
Para ejecutar un bucle en un rango de celdas, utilice en el rango una variable con
la propiedad Cells. El siguiente ejemplo rellena las primeras 20 celdas de la
tercera columna con valores entre 5 y 100, en incrementos de 5.
La variable contador se utiliza como ndice de fila para la propiedad Cells.
Sub HojasValores()
Dim contador As Integer
For contador = 1 To 20
Worksheets("Hoja1").Cells(contador, 3).Value = contador * 5
Next contador
End Sub

Hacer referencia a celdas usando un objeto Range


Si establece una variable de objeto para un objeto Range, puede manipular
fcilmente el rango utilizando el nombre de la variable.
El siguiente procedimiento crea la variable de objeto myRange y, a continuacin,
asigna la variable al rango A1:D5 de la hoja Hoja1 del libro activo. Las
instrucciones posteriores modifican las propiedades del rango, sustituyendo el
nombre de la variable por el objeto del rango.
Sub Aleatorio()
Dim MiRango As Range
Set MiRango = Worksheets("Hoja1").Range("A1:D5")
MiRango.Formula = "=RAND()"
MiRango.Font.Bold = True
End Sub

200

AP. Formacin Online.

Microsoft Office Excel 2010

Hacer referencia a todas las celdas de la hoja de clculo


Al aplicar la propiedad Cells a una hoja de clculo sin especificar un nmero de
ndice, el mtodo devuelve un objeto Range que representa todas las celdas de la
hoja de clculo. El siguiente procedimiento Sub borra el contenido de todas las
celdas de la hoja Hoja1 del libro activo.
Sub ClearSheet()
Worksheets("Hoja1").Cells.ClearContents
End Sub

Hacer referencia a varios rangos


Utilizando el mtodo apropiado puede hacer referencia fcilmente a varios
rangos. Utilice los mtodos Range y Union para hacer referencia a cualquier
grupo de rangos; utilice la propiedad Areas para hacer referencia al grupo de
rangos seleccionados en una hoja de clculo.

Usar la propiedad Range


Puede hacer referencia a varios rangos con la propiedad Range, pero debe poner
comas entre dos o ms referencias.
El siguiente ejemplo borra el contenido de los tres rangos de la hoja Hoja1.
Sub ClearRanges()
Worksheets("Hoja1").Range("C5:D9,G9:H16,B14:D18"). _
ClearContents
End Sub

Los rangos con nombre permiten que la propiedad Range funcione ms


fcilmente con varios rangos.
El siguiente ejemplo funciona cuando los tres rangos con nombre estn en la
misma hoja.
Sub BorrarNombres()
Range("MiRango, TLista, TValores").ClearContents
End Sub

Usar el mtodo Union


Puede combinar varios rangos en un objeto Range utilizando el mtodo Union.
El siguiente ejemplo crea un objeto Range denominado myMultipleRange, los
define como A1:B2 y C3:D4 y, a continuacin, asigna el formato de negrita a los
rangos combinados.
AP. Formacin Online.

201

Microsoft Office Excel 2010


Sub MultiplesRangos()
Dim r1, r2, MiMultiplesRangos As Range
Set r1 = Sheets("Hoja1").Range("A1:B2")
Set r2 = Sheets("Hojat1").Range("C3:D4")
Set MiMultiplesRangos = Union(r1, r2)
MiMultiplesRangos.Font.Bold = True
End Sub

Usar la propiedad Areas


Puede utilizar la propiedad Areas para hacer referencia al rango o conjunto de
rangos seleccionados en una seleccin de varias reas.
El siguiente procedimiento cuenta las reas de la seleccin. Si existe ms de un
rea, se muestra un mensaje de advertencia.
Sub BusquedaMultiple()
If Selection.Areas.Count > 1 Then
MsgBox "Existe ms de una area de seleccin"
End If
End Sub

Bucles en un rango de celdas


Al utilizar Visual Basic, con frecuencia necesitar ejecutar el mismo bloque de
instrucciones en cada una de las celdas de un rango. Para ello, combine una
instruccin de repeticin y uno o ms mtodos para identificar cada celda, una a
una, y ejecutar la operacin.
Una manera de ejecutar un bucle en un rango es utilizar el bucle For...Next con la
propiedad Cells. Al utilizar la propiedad Cells, puede sustituir el contador del
bucle, u otras variables o expresiones, por el nmero de ndice de las celdas.
En el siguiente ejemplo se sustituye la variable contador por el ndice de fila. El
procedimiento ejecuta un bucle en el rango C1:C20, estableciendo en 0 (cero)
cualquier nmero cuyo valor absoluto sea menor que 0,01.
Sub EstableceCero1()
For Contador = 1 To 20
Set curCell = Worksheets("Hoja1").Cells(Contador, 3)
If Abs(curCell.Value) < 0.01 Then curCell.Value = 0
Next Contador
End Sub

202

AP. Formacin Online.

Microsoft Office Excel 2010

Otra manera sencilla de ejecutar un bucle en un rango es utilizar el bucle For


Each...Next en el conjunto de celdas devuelto por el mtodo Range. Visual Basic
establece automticamente una variable de objeto para la siguiente celda cada vez
que se ejecuta el bucle.
El siguiente procedimiento realiza un bucle en el rango A1:D20, estableciendo en
0 (cero) cualquier nmero cuyo valor absoluto sea menor que 0.01.
Sub EstableceCero2()
For Each c In Worksheets("Hoja1").Range("A1:D10").Cells
If Abs(c.Value) < 0.01 Then c.Value = 0
Next
End Sub

Si no conoce los lmites del rango en que desea ejecutar el bucle, puede utilizar la
propiedad CurrentRegion para devolver el rango que rodea la celda activa.
Por ejemplo, el siguiente procedimiento, cuando se ejecuta desde una hoja de
clculo, ejecuta un bucle en el rango que rodea la celda activa, estableciendo en 0
(cero) todos los nmeros cuyo valor absoluto sea menor que 0.01.
Sub EstableceCero3()
For Each c In ActiveCell.CurrentRegion.Cells
If Abs(c.Value) < 0.01 Then c.Value = 0
Next
End Sub

Seleccionar y activar celdas


Al trabajar con Microsoft Excel, normalmente selecciona una o varias celdas y, a
continuacin, realiza una accin, como darles formato o escribir valores. En
Visual Basic normalmente no es necesario seleccionar las celdas antes de
modificarlas.
Por ejemplo, si desea escribir una frmula en la celda D6 utilizando Visual Basic,
no es necesario seleccionar el rango D6. Slo necesita devolver el objeto Range
y, a continuacin, establecer la propiedad Formula en la frmula que desee, como
se muestra en el siguiente ejemplo.
Sub IngreseFormula()
Worksheets("Hoja1").Range("D6").Formula = "=SUM(D2:D5)"
End Sub

Para obtener ejemplos sobre cmo utilizar mtodos para controlar las celdas sin
seleccionarlas, consulte Cmo hacer referencia a celdas y rangos.

AP. Formacin Online.

203

Microsoft Office Excel 2010

Usar el mtodo Select y la propiedad Selection


El mtodo Select activa las hojas y los objetos de las hojas; la propiedad
Selection devuelve un objeto que representa la seleccin actual de la hoja activa
del libro activo. Antes de utilizar la propiedad Selection, debe activar un libro,
activar o seleccionar un hoja y, a continuacin, seleccionar un rango, u otro
objeto, con el mtodo Select.
La grabadora de macros suele crear una macro que utiliza el mtodo Select y la
propiedad Selection.
El siguiente procedimiento Sub se cre utilizando la grabadora de macros, y
muestra cmo trabajan juntas Select y Selection.
Sub Macro1()
Sheets("Hoja1").Select
Range("A1").Select
ActiveCell.FormulaR1C1 = "Nombres"
Range("B1").Select
ActiveCell.FormulaR1C1 = "Direccion"
Range("A1:B1").Select
Selection.Font.Bold = True
End Sub

El siguiente ejemplo realiza la misma tarea, sin activar ni seleccionar la hoja de


clculo ni las celdas.
Sub Etiquetas()
With Worksheets("Hoja1")
.Range("A1") = "Nombres"
.Range("B1") = "Direccion"
.Range("A1:B1").Font.Bold = True
End With
End Sub

Seleccionar celdas en la hoja de clculo activa


Si utiliza el mtodo Select para seleccionar celdas, recuerde que Select slo
funciona en la hoja de clculo activa. Si ejecuta el procedimiento Sub desde el
mdulo, el mtodo Select devuelve un error a menos que el procedimiento active
la hoja de clculo antes de utilizar el mtodo Select en un rango de celdas.
Por ejemplo, el siguiente procedimiento copia una fila de la hoja "Hoja1" a la
hoja "Hoja2" del libro activo.

204

AP. Formacin Online.

Microsoft Office Excel 2010


Sub CopiarFilas()
Worksheets("Hoja1").Rows(1).Copy
Worksheets("Hoja2").Select
Worksheets("Hoja2").Rows(1).Select
Worksheets("Hoja2").Paste
End Sub

Activar una celda en una seleccin


Puede utilizar el mtodo Activate para activar una celda en una seleccin. Slo
puede haber una celda activa, aunque se haya seleccionado un rango de celdas.
El siguiente procedimiento selecciona un rango y, a continuacin, activa una
celda del rango sin cambiar la seleccin.
Sub ActivarRango()
Worksheets("Hoja1").Activate
Range("A1:D4").Select
Range("B2").Activate
End Sub

Trabajar con rangos 3D


Si trabaja con el mismo rango en ms de una hoja, utilice la funcin Array para
especificar dos o ms hojas a seleccionar.
El ejemplo siguiente da formato al borde de un rango tridimensional de celdas.
Sub FormatoHojas()
Sheets(Array("Hoja2", "Hoja3", "Hoja5")).Select
Range("A1:H1").Select
Selection.Borders(xlBottom).LineStyle = xlDouble
End Sub

El ejemplo siguiente aplica el mtodo FillAcrossSheets para transferir los


formatos y datos del rango de la hoja Hoja2 a los rangos correspondientes de
todas las hojas de clculo del libro activo.
Sub FormatoTodasHojas()
Worksheets("Hoja2").Range("A1:H1").Borders(xlBottom).LineStyle=xlDouble
Worksheets.FillAcrossSheets (Worksheets("Hoja2").Range("A1:H1"))
End Sub

AP. Formacin Online.

205

Microsoft Office Excel 2010

Trabajar con la celda activa


La propiedad ActiveCell devuelve un objeto Range que representa la celda que
est activa. Puede aplicar cualquiera de las propiedades o los mtodos de un
objeto Range a la celda activa, como en el ejemplo siguiente.
Sub CeldaActiva1()
Worksheets("Hoja1").Activate
ActiveCell.Value = 35
End Sub

Nota. Slo se puede trabajar con la celda activa cuando la hoja de clculo en la
que se encuentra sea la hoja activa.

Mover la celda activa


Puede utilizar el mtodo Activate para designar cul es la celda activa. Por
ejemplo, el siguiente procedimiento convierte B5 en la celda activa y, a
continuacin, le da formato de negrita.
Sub CeldaActiva2()
Worksheets("Hoja1").Activate
Worksheets("Hoja1").Range("B5").Activate
ActiveCell.Font.Bold = True
End Sub

Nota. Para seleccionar un rango de celdas, use el mtodo Select. Para activar slo
una celda, utilice el mtodo Activate.
Puede utilizar la propiedad Offset para pasar a la celda activa.
El siguiente procedimiento inserta texto en la celda activa del rango seleccionado
y, a continuacin, mueve la celda activa una celda a la derecha, sin cambiar la
seleccin.
Sub MoverDatos()
Worksheets("Hoja1").Activate
Range("A1:D10").Select
ActiveCell.Value = "Total Mensual"
ActiveCell.Offset(0, 1).Activate
End Sub

206

AP. Formacin Online.

Microsoft Office Excel 2010

Seleccionar las celdas que rodean la celda activa


La propiedad CurrentRegion devuelve un rango de celdas limitadas por filas y
columnas en blanco.
En el siguiente ejemplo, la seleccin se ampla para incluir las celdas contiguas a
la celda activa que contiene datos. A continuacin, se asigna el estilo Moneda a
este rango.
Sub Region()
Worksheets("Hoja1").Activate
ActiveCell.CurrentRegion.Select
Selection.Style = "Currency"
End Sub

Trabajo con libros y hojas


Hacer referencia a hojas por nmero de ndice
Un nmero de ndice es un nmero secuencial asignado a una hoja, segn la
posicin de su etiqueta, contando desde la izquierda, respecto a las hojas del
mismo tipo.
El siguiente procedimiento utiliza la propiedad Worksheets para activar la hoja
de clculo uno del libro activo.
Sub SeleccionarHoja()
Worksheets(1).Activate
End Sub

Si desea trabajar con todos los tipos de hojas (hojas de clculo, de grficos, de
mdulos y de dilogo), utilice la propiedad Sheets.
El siguiente procedimiento activa la hoja cuatro del libro.
Sub SeleccionarHoja()
Sheets(4).Activate
End Sub

Hacer referencia a hojas por su nombre


Puede identificar las hojas por su nombre, utilizando las propiedades Worksheets
y Charts. Las siguientes instrucciones activan varias hojas del libro activo.

AP. Formacin Online.

207

Microsoft Office Excel 2010

Puede utilizar la propiedad Sheets para devolver una hoja de clculo, de grficos,
de mdulo o de cuadro de dilogo, incluidos todos en el conjunto Sheets.
El siguiente ejemplo activa la hoja denominada "hoja1" del libro activo.
Sub ActivarHoja()
Worksheets("hoja1").Activate
End Sub

El siguiente ejemplo activa la hoja denominada "grafico1" del libro activo.


Sub ActivarHojaGrafico()
Sheets("grafico1").Activate
End Sub

Aadir mdulos VBA


Para aadir mdulos seguir el siguiente procedimiento.

1. Hacer clic en la ficha

, botn

2. Se abre la ventana de Visual Basic, hacer clic en el men

, botn

3. Se presenta la ventana de programacin de mdulo.

Trabajar con UserForms


Para aadir formularios seguir el siguiente procedimiento.

1. Hacer clic en la ficha

, botn

2. Se abre la ventana de Visual Basic, hacer clic en el men

208

AP. Formacin Online.

Microsoft Office Excel 2010

Botn
3. Se presenta la ventana de formulario

Uso de controles de formulario


A continuacin se describe el uso de controles de un formulario

Control Marco

(Frame)

Este control permite agrupar otros controles para darle mayor funcionalidad a la
interfaz. Los controles Botones de Opcin necesariamente tienen que estar
agrupados por el control Marco. Para agrupar controles, dibuje primero el control
Marco y, a continuacin, dibuje los controles dentro de Marco.
Propiedades
Caption

Ttulo de marco.

Enabled

Determina si est habilitado para responder a las acciones del


usuario.

Name

Nombre del control.

Visible

Determina si el Marco y los controles que contiene estn


visibles o no.

Control Casilla de Verificacin (CheckBox)


Las casillas de verificacin se utilizan para proporcionar al usuario opciones de
tipo Si/No o Verdadero/Falso. Cuando el usuario selecciona una opcin (activa la
casilla), aparece una marca de verificacin () dentro de la casilla.
Propiedades
Caption

Descripcin que acompaa a la casilla.

Enabled

True/False. Determina si est habilitado para responder a las


acciones del usuario.

Name

Nombre del control.

AP. Formacin Online.

209

Microsoft Office Excel 2010

Value

0 Unchecked (Vaco, no marcado)


1 Checked (Marcado)
2 Grayed (Gris, Indefinido)

Visible

Determina si la casilla est visible o no.

Eventos
Click

Ocurre cuando el usuario hace clic sobre la casilla.

Control Botn de Opcin (OptionButton)


Estos controles se utilizan para que el
usuario seleccione una
opcin de un grupo opciones. La opcin seleccionada tiene un punto en el centro.
Propiedades
Caption

Descripcin que acompaa a la opcin.

Enabled

True/False. Determina si est habilitado para responder a las


acciones del usuario.

Name

Nombre del control.

Value

True/False, marcado o no marcado.

Visible

True/False.
Determina si el
botn est visible
o no.

Eventos
Click

210

Ocurre cuando el
usuario hace clic
sobre el botn.

AP. Formacin Online.

Microsoft Office Excel 2010

Control Cuadro de Lista (ListBox)


Un control ListBox muestra una
lista de elementos entre los cuales el
usuario puede seleccionar uno o ms elementos. Si el nmero de elementos
supera el nmero que puede mostrarse, se agregar automticamente una barra de
desplazamiento al control ListBox
La propiedad List es un arreglo que contiene los elementos de la lista, y comienza
con ndice 0. La propiedad ListCount establece el nmero total de elementos de
la lista. La propiedad ListIndex contiene el ndice del elemento seleccionado, el
cual es un nmero entre 0 (primer elemento) y el nmero total de elementos en la
lista 1 (ListCount 1). Si no se selecciona ningn elemento, el valor de la
propiedad ListIndex ser 1.
La propiedad NewIndex contiene el ndice del ltimo elemento aadido a la lista.
Esto puede ser til si desea hacer algo con el elemento aadido, por ejemplo, que
sea el elemento actualmente seleccionado.
Propiedades
Enabled

True/False. Determina si el control responde a las acciones del


usuario.

List

Arreglo con los elementos de la lista.

ListCount

Nmero de elementos de la lista.

ListIndex

Elemento seleccionado.

MultiSelect

Establece si es posible seleccionar varios elementos o uno


solo.

Name

Nombre del control.

Selected

Arreglo de valores lgicos paralelo y del mismo tamao al


arreglo list, indica que elementos han sido seleccionados
(True) de la lista. Se utiliza en lugar de ListIndex cuando
establecemos la propiedad Multiselect en 1 2.

Sorted

True/False. Establece
alfabticamente.

Style

Establece el comportamiento del control.

Text

Devuelve el elemento seleccionado en el cuadro de lista; el


valor de retorno es siempre equivalente al que devuelve la
expresin List(ListIndex). Es de slo lectura en tiempo de
diseo y es de slo lectura en tiempo de ejecucin.

los

elementos

se

ordenan

Mtodos
AddItem

Permite aadir nuevos elementos a la lista.

RemoveItem

Permite eliminar elementos de la lista.

AP. Formacin Online.

211

Microsoft Office Excel 2010

Eventos
Click

Ocurre cuando el usuario interacta con el control.

Ejemplos:
Muestra en el Cuadro de Texto
txtGaseosa el elemento seleccionado
Private Sub lstGaseosas_Click()
txtGaseosa.Text
lstGaseosas.Text

End Sub

Aade un nuevo elemento al Cuadro de Lista lstGaseosas


Private Sub cmdAgregar_Click()
Dim strNuevoElemento As String
strNuevoElemento = InputBox("Ingrese una nueva gaseosa:", _
"Nueva gaseosa")
If Trim(strNuevoElemento) <> "" Then
lstGaseosas.AddItem strNuevoElemento
End If
End Sub

Elimina el elemento actual del Cuadro de Lista lstGaseosas


Private Sub cmdEliminar_Click()
If lstGaseosas.ListIndex <> -1 Then
lstGaseosas.RemoveItem lstGaseosas.ListIndex
End If
End Sub

Control Cuadro Combinado (ComboBox)


Un control ComboBox combina las
caractersticas de un control
TextBox y un control ListBox; los usuarios pueden introducir informacin en la
parte del cuadro de texto o seleccionar un elemento en la parte de cuadro de lista
del control.
212

AP. Formacin Online.

Microsoft Office Excel 2010

Para agregar o eliminar elementos en un control ComboBox, se usa el mtodo


AddItem o RemoveItem. Establezca las propiedades List, ListCount y ListIndex
para permitir a un usuario tener acceso a los elementos de un control ComboBox.
Como alternativa, puede agregar elementos a la lista mediante la propiedad List
en tiempo de diseo.
Propiedades
Enabled

True/False. Determina si el control responde a las acciones del


usuario.

List

Arreglo con los elementos de la lista.

ListCount

Nmero de elementos de la lista

ListIndex

Elemento seleccionado.

Name

Nombre del control.

Sorted

True/False. Establece
alfabticamente.

Style

Establece el comportamiento del control.

Text

Texto que contiene el control.

si

los

elementos

se

ordenan

Mtodos
AddItem

Permite aadir nuevos elementos a la lista.

RemoveItem

Permite eliminar elementos de la lista.

Eventos
Click

Ocurre cuando el usuario interacta con el control

Change

Ocurre cuando el valor de la propiedad Text es modificado.

AP. Formacin Online.

Constante

Valor

Descripcin

vbComboDropDown

(Predeterminado) Cuadro combinado desplegable.


Incluye una lista desplegable y un cuadro de
texto.El Usuario puede seleccionar datos en la lista
o escribir en cuadro de texto.

vbComboSimple

Cuadro combinado simple. Incluye un cuadro de


texto y una lista, que no se despliega. Incremente
la propiedad Height para mostrar ms elementos
de la lista.

vbComboDropDownList

Lista desplegable. Este estilo slo permite la


seleccin desde la lista desplegable.

213

Microsoft Office Excel 2010

Propiedad Style
Esta propiedad establece el comportamiento del control ComboBox, y puede
tomar los siguientes valores:
Ejemplo
En la siguiente interfaz se ilustra el uso del control ComboBox y la propiedad
Style.

Muestra la gaseosa seleccionada por el usuario en la etiqueta lblGaseosa


Private Sub cboGaseosas_Click()
lblGaseosa.Caption = cboGaseosas.Text
End Sub

Actualiza la etiqueta lblGaseosa cuando el usuario modifica el control


cboGaseosas
Private Sub cboGaseosas_Change()
lblGaseosa.Caption = cboGaseosas.Text
End Sub

Muestra el encuestado seleccionado por el usuario en la etiqueta


lblEncuestado
Private Sub cboEncuestados_Click()
lblEncuestado.Caption = cboEncuestados.Text
End Sub

214

AP. Formacin Online.

Microsoft Office Excel 2010


Muestra en la etiqueta lblCiudad el elemento seleccionado del control
cboCiudades
Private Sub cboCiudades_Click()
lblCiudad.Caption = cboCiudades.Text
End Sub

Funciones VBA InputBox, MsgBox


Una de las formas ms simples de obtener informacin para y desde el usuario es
utilizando las funciones MagBox e InpuBox respectivamente.

Funcin MsgBox()
Los cuadros de mensaje ofrecen un modo simple y rpido de consultar a los
usuarios por informacin simple o para permitirles tomar decisiones sobre el
camino que su programa debe tomar. Puede usar esta funcin para mostrar
diferentes tipos de mensaje y botones con los cuales el usuario da una respuesta.
Rpta = MsgBox("Est seguro de eliminar a este cliente?"
vbQuestion + vbYesNo, "Confirmacin")

Funcin InpuBox()
La funcin InputBox muestra un mensaje en un cuadro de dilogo, espera que el
usuario escriba un texto o haga clic en un botn y devuelve un tipo String con el
contenido del cuadro de texto.
strCodigo = InputBox("Ingrese
buscar:","Bsqueda", "CLI0001")

el

cdigo

del

cliente

Metodo GetOpenfilename , GetSaveAsFileName


Funcin GetOpenfilename ()
Este mtodo nos permite desplegar el cuadro de dialogo abrir (del menu archivo)
pero no abre el archivo indicado.

AP. Formacin Online.

215

Microsoft Office Excel 2010

El mtodo nos devuelve una cadena con la ruta y nombre del archivo
seleccionado.
Sintaxis
Object.GetOpenFilename(FileFilter,FilterIndex,Title,ButtonText,Multiselect)
Argumentos
FileFilter. Opcional. Una serie especifica con criterios de filtro de
archivo.
FilterIndex. Opcional. Los nmeros del ndice por defecto bajo criterios
de filtro de archivo.
Titulo. Opcional .El titulo del cuadro de dialogo. si se omite, el titulo..
mostrara "Abrir"
ButtonText. Solo para Macintosh
Multiselect. Opcional. Si es verdadero, se pueden seleccionar varios
nombres de archivos
El argumento Filtro de archivo determnalo que muestra el cuadro de
dialogo de los archivos del tipo lista desplegable. Consiste en pares de
series de filtro de archivo seguido del comodn especificado. Si se omite
sera por defecto : "All File(*.*),*.*"
Ejemplo
El argumento Filterindex especificara el tipo de archivo que aparece por defecto,
'el titulo del argumento es un texto que se despliega en la barra del ttulo. si el
argumento de multiselect es verdadero,el usuario puede seleccionar varios
archivos(y se devolveran en una serie)
Private Sub CommandButton1_Click()
Dim filtrox As String
Dim FilterIndex As Integer
Dim titulo As String
Dim nombreArchivo As Variant
'Configurar Filtro para la lista de archivos
filtrox = "Archivos de texto (*.txt),*.txt," & _
"Word(*.doc),*.doc, " & _
"Excel (*.xls), *.xls, " & _
"Power Point(*.ppt), *.ppt, " & _
"Todos los archivos (*.*),*.* "

216

AP. Formacin Online.

Microsoft Office Excel 2010

'Mostrar por defecto todos los archivos


FiltroIndex = 3
titulo = "Ejemplo"
'Obtener Nombre del archivo
nombreArchivo
=
Application.GetOpenFilename(FileFilter:=filtrox,
FilterIndex:=FiltroIndex, Title:=titulo)
TextBox1.Text = nombreArchivo
End Sub

Funcin GetSaveAsFileName
Permite grabar un archivo
Ejemplo
Private Sub CommandButton2_Click()
Dim FileSaveName As Variant
FileSaveName = Application.GetSaveAsFilename( _
Filefilter:="Libro de microsoft Office Excel (*.Xls), *.Xls," & "Ficheros de
TEXTO (*.TXT), *.TXT", _
Title:="Guardar Archivo", _
InitialFileName:="MyLibro666", _
FilterIndex:=1)
'Si Anulamos la operacion con Cancelar...
If FileSaveName = False Then
MsgBox "El libro no ser Guardado", vbInformation + vbOKOnly,
"ATENCION:"
Exit Sub
End If
ActiveWorkbook.SaveAs Filename:=FileSaveName
End Sub

Crear y abrir libro


Crear un libro nuevo
Para crear un nuevo libro en Visual Basic, utilice el mtodo Add. El siguiente
procedimiento crea un nuevo libro. Microsoft Excel asigna automticamente el

AP. Formacin Online.

217

Microsoft Office Excel 2010

nombre BookN al libro, donde N es el siguiente nmero disponible. El nuevo


libro se convertir en el libro activo.
Sub CrearNuevoLibro()
Workbooks.Add
End Sub

Abrir un libro
Al abrir un nuevo libro utilizando el mtodo Open, se convierte en un miembro
del conjunto Workbooks.
El siguiente procedimiento abre un libro denominado Amortizacion.xls, ubicado
en la carpeta SENATI de la unidad C.
Sub AbrirLibro()
Workbooks.Open("C:\SENATI\Amortizacion.xls")
End Sub

Cuestionarios
1. Realice un formulario aplicativo de acuerdo a las necesidades de su rea donde
labores, donde pueda aplicar los conocimiento aprendidos en programacin.
______________________________________________________________
______________________________________________________________
2. Crear un formulario aplicativo que permita ingresar una contrasea al abrir una
hoja de clculo.
______________________________________________________________
______________________________________________________________
3. Crear un atajo que permita llamar a un formulario que contiene un calendario.
______________________________________________________________
______________________________________________________________

218

AP. Formacin Online.

Microsoft Office Excel 2010

Ejercicios utilizando Macro, Formulario y VBA


Ejercicio 1: Nmeros primos

Grabar el archivo con el nombre primo.xls


Option Explicit
Sub primos() ' Igual que primos pero evitando usar etiquetas y goto
Dim i As Long
Dim j As Long
Dim p As Long
Dim n As Long
Dim primo As Boolean
n = InputBox("Hasta que nmero? (mximo 821507)", "Calculo de primos")
p=1
Application.Workbooks("primos.xls").Sheets("Hoja1").Range("c6").Select
ActiveCell.Value = 2
ActiveCell.Offset(1, 0).Value = 3
For i = 5 To n Step 2
primo = True
For j = 3 To Sqr(i) Step 2
If (i / j) - Int(i / j) = 0 Then primo = False: Exit For
Next j
If primo Then
p=p+1
ActiveCell.Offset(p, 0).Value = i
End If
Next i
End Sub
Sub Limpiar()
Range("B6").Select
Selection.CurrentRegion.Select
Selection.ClearContents
Range("B6").Select
End Sub

AP. Formacin Online.

219

Microsoft Office Excel 2010

Ejercicio 2: Fechas

Option Explicit
Sub nacimiento()
Dim dias As Integer, Dsemana As Integer, Factual As Date, d As String, cumple As Date
Rem Dsemana es una variable que da un nmero que indica el da de la semana
Rem dado por la funcin WEEKDAY, que en Excel es =DIASEM(fecha)
Static Fnacimiento As Date
Factual = Date 'Date es la funcin de VBA equivalente a =HOY()
Fnacimiento = Factual
Fnacimiento = InputBox(Prompt:="Introduzca su fecha de nacimiento", _
Title:="Formato DD-MM-AAAA", Default:=Fnacimiento)
dias = Factual - Fnacimiento
Dsemana = Application.WorksheetFunction.Weekday(Fnacimiento)
Select Case Dsemana
Case 1: d = "Domingo"
Case 2: d = "Lunes"
Case 3: d = "Martes"
Case 4: d = "Miercoles"
Case 5: d = "Jueves"
Case 6: d = "Viernes"
Case 7: d = "Sabado"
End Select
MsgBox Prompt:="Usted naci un " & d & " hace " & dias & " das" & Chr(10) _
& "Tiene " & CalEdad(Fnacimiento) & " Aos", _
Title:="Esta informacin es correcta siempre que hoy sea " & Factual
End Sub

220

AP. Formacin Online.

Microsoft Office Excel 2010


'Funcin que calcula la edad en aos
Function CalEdad(Fnacimiento As Date)
Dim Fecha As Date
CalEdad = Abs(DateDiff("yyyy", Fnacimiento, Date))
Fecha = DateAdd("YYYY", CalEdad, Fnacimiento)
If Fecha > Date Then CalEdad = CalEdad - 1
End Function
Sub Trimestres()
'Proporciona el trimestre en el que se encuentra una fecha
Dim LaFecha As Date
Dim Msj
LaFecha = InputBox("Escriba una fecha:")
Msj = "Trimestre: " & DatePart("q", LaFecha)
'DatePart es una funcin VBA
MsgBox Msj
End Sub

Ejercicio 3: TIR

Option Explicit
Sub CalculaTIR()
Range("F7").Value = 0
Range("H7").Value = 1
Do While Abs(Range("G8")) > 0.00001 'error admitido
If Range("G8") < 0 Then
Range("H7") = Range("G7")
Else
Range("F7") = Range("G7")
End If
'La siguiente lnea se utiliza para retrasar la ejecucin de la macro
'de esta forma se puede ver como converge la tasa a la TIR
Application.Wait Now + TimeValue("00:00:1")
Loop
End Sub

AP. Formacin Online.

221

Microsoft Office Excel 2010

Ejercicio 4: =PAGO

Option Explicit
Sub prestamo()
Static Principal 'Variable esttica. No cambia
Static Tasa
Static Terminos
Dim Pago As Double
Principal = Application.InputBox(Prompt:="Principal (100000 por jemplo)",Default:=Principal)
Tasa = Application.InputBox(Prompt:="Tipo de inters nominal anual (4,75 por ejemplo)", Default:=Tasa)

Terminos = Application.InputBox(Prompt:="Nmero de aos (30 por ejemplo)",Default:=Terminos)

'Vea como se usa la funcin de Excel Pmt (Pago) sin necesidad de calcularla en una celda
Pago = Application.WorksheetFunction.Pmt(Tasa / 1200, Terminos * 12, Principal)
MsgBox Prompt:="La Mensualidad es " & Format(-Pago, "Currency"), Title:="Calculadora de Prstamos"

End Sub

Ejercicio 5: Listado de hojas

222

AP. Formacin Online.

Microsoft Office Excel 2010


Option Explicit
Sub NombreHojas()
'Pone los nombres de las hojas, salvo la primera
Dim contador As Integer
For contador = 1 To Sheets.Count
With Sheets(1)
Cells(contador + 5, 6).Value = Sheets(contador).Name
End With
Next
End Sub
Sub Limpia()
Range("F6").Select
Selection.CurrentRegion.Select
Selection.ClearContents
Range("A1").Select
End Sub

Ejercicio 6: Eliminar registros en blanco

Option Explicit
Sub EliminarFilasEnBlanco()
Dim strC As String, lngFila As Long
With Worksheets("Hoja1") 'Nombre de la hoja
For lngFila = 1 To .UsedRange.Rows.Count
If WorksheetFunction.CountA(.Rows(lngFila)) = 0 Then strC = strC & lngFila & ":" & lngFila & ","

Next lngFila
Application.ScreenUpdating = False
.Range(Left(strC, Len(strC) - 1)).Delete
Application.ScreenUpdating = True
End With
End Sub

AP. Formacin Online.

223

Microsoft Office Excel 2010

Ejercicio 7: Funciones personalizadas

Option Explicit
Function DiasLaborablesYSabados(Fecha_Inicial As Date, Fecha_Final As Date,
Optional Festivos As Range) As Long
Dim Laborables As Long
Dim i As Long
Dim c As Variant
Dim F As Long
Dim esta As Boolean
esta = False
Laborables = 0
If Festivos Is Nothing Then
For i = Fecha_Inicial To Fecha_Final
If i Mod 7 <> 1 Then
Laborables = Laborables + 1

224

AP. Formacin Online.

Microsoft Office Excel 2010


End If
Next i
Else
For i = Fecha_Inicial To Fecha_Final
If i Mod 7 <> 1 Then
esta = False
For Each c In Festivos
F = CDate(c)
If i = F Then esta = True: Exit For
Next c
If Not esta Then Laborables = Laborables + 1
End If
Next i
End If
DiasLaborablesYSabados = Laborables
End Function

Ejercicio 8: Filtrar la base de datos

Sub Filtra()
Range("basedatos").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Range("H5:K6"), CopyToRange:=Range("H12:K12"), Unique:=False
Range("A1").Select
End Sub
AP. Formacin Online.

225

Microsoft Office Excel 2010


Sub Auto_Open()
'Copiamos y pegamos, con pegado especial valores, las celdas y9.ab9
'que son las que generan la base de datos.
Range("Y9:AB9").Select
Selection.Copy
Range("B6:E1005").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Application.CutCopyMode = False
'Nombramos la base de datos como basedatos
Range("B5").Select
Selection.CurrentRegion.Select
ActiveWorkbook.Names.Add Name:="basedatos", RefersToR1C1:="=Hoja1!R5C2:R1005C5"

Range("A1").Select
End Sub

Ejercicio 9: Eliminar valores duplicados de una lista

Option Explicit
Function CuentaListaA()

226

AP. Formacin Online.

Microsoft Office Excel 2010


Application.Workbooks("EliminarValores.xls").Worksheets("Hoja1").Range("C5").Activate

Selection.End(xlDown).Select
CuentaListaA = ActiveCell.Row - 5
End Function
Sub Repetidos()
'Borra los elementos de la columna E que esten en la C
'Pero slo los borra una vez. Si se repiten en C slo borra el 1
'Si se quiere que se eliminen todos quitar del programa la vble. "salir"
Dim posicion As Long
Dim salir As Boolean
Dim comodin
Dim respuesta As String * 5
Dim filasiniciales As Long
Dim filasfinales As Long
filasiniciales = CuentaListaA
Range("E6").Select
posicion = 1
While ActiveCell.Value <> ""
comodin = ActiveCell.Value
Range("C6").Select
salir = False
While ActiveCell.Value <> "" And salir = False
If ActiveCell.Value = comodin Then
ActiveCell.Font.Bold = True
respuesta = MsgBox("Deseas borrar la celda " & ActiveCell.Address & "?", 4, "Encontrado!!")

If respuesta = vbYes Then


'Edicin, Eliminar, Desplazar las celdas hacia arriba
Selection.Delete Shift:=xlUp
End If
salir = True
Else
ActiveCell.Offset(1, 0).Select
End If
Wend
posicion = posicion + 1
Range("E6").Select
ActiveCell.Offset(posicion - 1, 0).Select
Wend
filasfinales = CuentaListaA
MsgBox "La Lista A inicialmente tenia " & filasiniciales & " filas." & Chr(13) _
& "Se han eliminado " & filasiniciales - filasfinales & " filas." & Chr(13) _
& "Por tanto, quedan " & filasfinales & " filas."
End Sub

AP. Formacin Online.

227

Microsoft Office Excel 2010

Ejercicio 10: Rellenar y Eliminar registros de una lista

'En las celdas vacias de una tabla copia el valor de la celda precedente
Sub RellenarCeldas()
Range("B5").Select

228

AP. Formacin Online.

Microsoft Office Excel 2010


Selection.CurrentRegion.Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.FormulaR1C1 = "=+R[-1]C"
Selection.CurrentRegion.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
Application.CutCopyMode = False
End Sub
Sub QuitaRepes()
Dim y As Integer
Dim a As Variant
Dim b As Variant
Dim i As Integer
Dim j As Integer
For i = 0 To 2
Range("B5").Select
ActiveCell.Offset(0, i).Activate
y=0
Do While Not IsEmpty(ActiveCell.Offset(y, 0))
y=y+1
Loop
ActiveCell.Offset(y - 1, 0).Activate
For j = y To 1 Step -1
a = ActiveCell.Value
b = ActiveCell.Offset(-1, 0).Value
If a = b Then
Selection.ClearContents
End If
ActiveCell.Offset(-1, 0).Activate
Next j
Next i
Range("A1").Select
End Sub

AP. Formacin Online.

229

Captulo

Funciones personalizadas
En este captulo trataremos:

Creacin de funciones personalizadas con VBA


Uso de controles ActiveX

AP. Formacin Online.

230

Microsoft Office Excel 2010

Uso de mdulos para Funciones


Los mdulos permiten dividir un programa muy grande en partes mucho ms pequeas
y manejables.
La divisin de un programa en unidades ms pequeas o funciones presenta entre
otras las ventajas siguientes:

Ventajas
1. Modularizacin
Cada funcin tiene una misin muy concreta, de modo que nunca tiene un
nmero de lneas excesivo y siempre se mantiene dentro de un tamao
manejable.
Una misma funcin puede ser invocada muchas veces en un mismo programa,
e incluso puede ser reutilizada por otros programas. Cada funcin puede ser
desarrollada y comprobada por separado.
2. Ahorro de memoria y tiempo de desarrollo
En la medida en que una misma funcin es utilizada muchas veces, el nmero
total de lneas de cdigo del programa disminuye, y tambin lo hace la
probabilidad de introducir errores en el programa.
3. Independencia de datos y ocultamiento de informacin.
Una de las fuentes ms comunes de errores en los programas de computador
son los efectos colaterales o perturbaciones que se pueden producir entre
distintas partes del programa.
Es muy frecuente que al hacer una modificacin para aadir una funcionalidad o
corregir un error, se introduzcan nuevos errores en partes del programa que antes
funcionaban correctamente.

Caractersticas
Una funcin es capaz de mantener una gran independencia con el resto del
programa, manteniendo sus propios datos y definiendo muy claramente la
interfaz o comunicacin con la funcin que la ha llamado y con las funciones a
las que llama, y no teniendo ninguna posibilidad de acceso a la informacin que
no le compete.
La principal caracterstica de una funcin es que sta puede ser utilizada en una
expresin porque tiene un valor de retorno.
La sintaxis correspondiente a una funcin es la siguiente:
Function nombre ([parmetros]) [As tipo]
[sentencias]
[nombre = expresion]
[Exit Function]
AP. Formacin Online.

231

Microsoft Office Excel 2010


[sentencias]
[nombre = expresion]
End Function

A continuacin se describe en un cuadro los elementos de la funcin


NOMBRES

FUNCION

nombre

Define el nombre de la funcin

Parmetros

Son los argumentos que son pasados cuando se llama a la funcin.

As Tipo

Define el tipo de dato que devuelve la funcin, pueden ser:


Boolean

Lgico, devuelve dos valores True o False.

Numricos

Byte, Integer, Single, Double

String

Aceptar caracteres alfanumricos de Desde 1 a 65.400


aproximadamente

Variant

Cualquier valor numrico, String.

Sentencias

Es el cdigo del programa en VBA.

expresin

Valor de retorno de la funcin

Exit Function

Permite salir de una funcin antes de que sta finalice.

End Function

Marca el final del cdigo de la funcin.

Uso de argumentos en las funciones


Los argumentos son los parmetros que se pasan a la funcin.
Argumentos opcionales
Se puede especificar argumentos opcionales.
Cuando un argumento es opcional y en la llamada es omitido, el valor que se le pasa es
un Variant con valor Empty. A los argumentos opcionales se les puede dar en la
definicin de la funcin un valor por defecto para el caso en que sean omitidos en la
llamada, como por ejemplo:
Function AREAT(base As integer, altura As integer, Optional n As Integer)
AREAT=base * altura / 2
End Sub

232

AP. Formacin Online.

Microsoft Office Excel 2010

Argumentos arreglos
Para utilizar argumentos Array utilice la palabra ParamArray en la definicin del
procedimiento, como por ejemplo:
Public Function maximo(ParamArray numeros())
For Each x in numerous
Sentencias
maximo = x
Next x
End Function

Ejecutar una funcin


Para ejecutar una funcin utilice la siguiente sintaxis:
= nombre([argumentos])
Donde argumentos son una lista de constantes, variables o expresiones separadas por
comas que son pasadas a la funcin.
En principio, el nmero de argumentos debe ser igual al nmero de parmetros de la
funcin.
Los tipos de los argumentos deben coincidir con los tipos de sus correspondientes
parmetros, de lo contrario puede haber fallos importantes en la ejecucin del
programa.
En cada llamada a una funcin hay que incluir los parntesis, aunque sta no tenga
argumentos.
El siguiente ejemplo corresponde a una funcin que devuelve como resultado la raz
cuadrada de un nmero N:
Function Raiz (N As Double) As Double
If N < 0 Then
Exit Function
Else
Raiz = Sqr(N)
End If
End Function
La llamada a esta funcin se hace de la forma siguiente:
= Raiz(4)

AP. Formacin Online.

233

Microsoft Office Excel 2010

Recursividad
Se dice que una funcin
(Function) es recursiva si se
llaman a s mismos.
A continuacin se presenta
una ejemplo de una funcin
que calcula el factorial de un
nmero programada de
forma recursiva.
Clculo de Factorial
Function Fact (N As Integer) As Long
If N = 0 Then Fact = 1 Else Fact = N * Factorial (N - 1)
End Function

En este ejemplo, si la variable N que se le pasa a la funcin vale 0, significar


que se ha llegado al final del proceso, y por tanto se le asigna el valor 1 al valor
del factorial (recordar que 0! = 1). Si es distinto de 0, la funcin se llama a ella
misma, pero variando el argumento a (N-1), hasta llegar al punto en el que N1=0, finalizndose el proceso.
Para invocar a la funcin utilice =FACT(6)

Paso a Paso: Crear la funcin rea del triangulo


1. Realizar una funcin que permita calcular el rea del tringulo.
2. AREAT = ( B x H ) / 2

3. Hacer clic en la ficha


4. Hacer clic en el men

, botn
, botn

Function AREAT(base As integer, altura As integer, Optional n As Integer)


AREAT=base * altura / 2
End Sub

5. Cerrar el Editor de VBA


6. Estando en Excel, Disear la siguiente hoja
7. En la celda B5 escribir la funcin: =AreaT (B3,B5)
234

AP. Formacin Online.

Microsoft Office Excel 2010

Controles Active X
Veamos veremos una serie de controles que le pueden brindar interactividad a nuestras
aplicaciones Excel
Los Controles ActiveX son objetos grficos que se colocan en un formulario
(userforms) o en una determinada posicin de la hoja de trabajo, con el objetivo de
mostrar, seleccionar o introducir (capturar) datos, para la realizacin de una accin
determinada (ej. ejecucin de una macro) o para facilitar la lectura de un formulario.
Estos objetos pueden consistir por ejemplo en cuadros de texto, cuadros de lista
(ComboBox), botones de opciones, casillas de verificacin, botones de comandos,
barras de desplazamiento u otros elementos.
A continuacin se describe los Controles
1. Cuadro de Texto
Un Cuadro de Texto nos permite capturar informacin, la cual puede ser
numrica, alfabtica o alfanumrica.
2. Botn de Comando
Este tipo de control es uno de los ms conocidos. Entre otras cosas, este control
nos permite por ejemplo la ejecucin de una macro, o marcar el inicio de la
realizacin de una determinada actividad previamente asignada o programada.
3. Casilla de Verificacin
Una casilla de verificacin es utilizada normalmente para capturar informacin
previamente estructurada. Normalmente se presentan en grupos y es posible
seleccionar ms de una opcin.
4. Botn de Opcin
Un botn de opcin en general presenta las misma caractersticas que un grupo
de casillas de verificacin, slo que en este caso no es posible seleccionar ms de
una opcin.
5. Cuadro Combinado
Su utilizacin es recomendable cuando la lista de opciones es bastante extensa.
Inclusive puede ser configurado para que mostrar un cierto nmero de opciones
solamente, debiendo desplazarse el usuario con la barra de desplazamiento que se
generar automticamente para buscar las otras opciones no visualizadas.
6. Cuadro de Lista
Un cuadro de lista contiene una lista de los elementos que pueden ser
seleccionados. En trminos generales es prcticamente lo mismo que un cuadro

AP. Formacin Online.

235

Microsoft Office Excel 2010

combinado, slo que no posee el men desplegable, sino que es necesario


desplazarse a travs de l con el cursor.

7. Botn o Control de Nmero


Este control puede ser usado para aumentar o disminuir el valor de un
determinado parmetro o celda vinculada. Cuenta con dos flechas, una hacia
arriba y otra hacia abajo, o una hacia la derecha y otra hacia la izquierda. Al
presionar alguna de ellas aumentar o disminuir el valor segn corresponda.

8. Botn de Alternar
Este botn puede ser utilizado para que el usuario seleccione o no una
determinada caracterstica, ya que este control tiene la ventaja de que una vez
seleccionado permanece seleccionado, devolviendo el valor de Verdadero o Falso
segn corresponda. Este botn adems puede ser vinculado a una determinada
celda, en la cual devolver el valor lgico anteriormente mencionado (verdadero
o falso).
Paso a Paso: Uso de control ActiveX - 1
1. Disear una aplicacin que muestre en un control ListBox1 los nmeros pares y
en un ListBox2 los nmeros impares

2. Hacer clic en la ficha


3. Hacer clic en el men
mostrado a continuacin.

236

, botn
, botn

y disear el formulario

AP. Formacin Online.

Microsoft Office Excel 2010

4. Hacer clic en el men


programa
General

, botn

y escriba el siguiente

Declaraciones

Dim SumaImpar As Integer


Dim SumaPar As Integer
Dim cont As Integer

Private Sub CommandButton1_Click()


Randomize
SW = 1
cont = 1
SumaImpar = 0
SumaPar = 0
ListBox1.Clear
ListBox2.Clear
For cont = 1 To 10
If SW = 1 Then
ListBox1.AddItem cont
SumaImpar = SumaImpar + cont
SW = 0
Else
ListBox2.AddItem cont
SumaPar = SumaPar + cont
SW = 1
End If
Next
TextBox1.Text = SumaImpar
TextBox2.Text = SumaPar
End Sub

Paso a Paso: Uso de control ActiveX - 2


1. Disear una aplicacin que permita ingresar los siguientes datos a controles
TextBox: Nombres, Apellidos, Direccin, telfono y suledo. El ingreso de
datos debe ser consistenciado. Luego estos datos deben ser pasados a una
grilla (Control FlexGrid). Calcular el total del sueldo.

AP. Formacin Online.

237

Microsoft Office Excel 2010

2. Hacer clic en la ficha

, botn

3. Hacer clic en el men


, botn
formulario mostrado a continuacin.

y disear el

Hacer clic en el men


Herramientas,
Controles
adicionales para agregar el
control FlexGrid a la caja
de controles.

4. Hacer clic en el men


cdigo

, botn

. Edite el siguiente

Public Sub IngNum(KeyAscii As MSForms.ReturnInteger)


If (KeyAscii = 8) Then Exit Sub
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9")) Then KeyAscii = 0
End Sub
Public Sub IngNumTelf(KeyAscii As MSForms.ReturnInteger)
If (KeyAscii = 8) Then Exit Sub
If (KeyAscii = Asc("-")) Then Exit Sub
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9")) Then KeyAscii = 0
End Sub
Public Function IngFechas(Fecha As Variant) As Boolean
IngFechas = IsDate(Fecha)
End Function

238

AP. Formacin Online.

Microsoft Office Excel 2010


Public Sub IngCar(KeyAscii As MSForms.ReturnInteger)
If (KeyAscii = 8) Then Exit Sub
If (KeyAscii = 32) Then Exit Sub
If (KeyAscii = Asc(".")) Then Exit Sub
If (KeyAscii >= Asc("0") And KeyAscii <= Asc("9")) Then KeyAscii = 0
Select Case KeyAscii
Case Is >= Asc("A") And KeyAscii <= Asc("Z"): Exit Sub
Case Is >= Asc("a") And KeyAscii <= Asc("z"): Exit Sub
Case Is = Asc(""): Exit Sub
Case Is = Asc(""): Exit Sub
Case Is = Asc(""): Exit Sub
Case Is = Asc(""): Exit Sub
Case Is = Asc(""): Exit Sub
Case Else: KeyAscii = 0
End Select
End Sub

5. Hacer clic en el men


programa
General

, botn

y escriba el siguiente

Declaraciones

Dim FILA As Integer


Private Sub CommandButton1_Click()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
End Sub
Private Sub CommandButton2_Click()
FILA = FILA + 1
MSFlexGrid1.Rows = MSFlexGrid1.Row + FILA
MSFlexGrid1.TextMatrix(FILA, 1) = TextBox1.Text
MSFlexGrid1.TextMatrix(FILA, 2) = TextBox2.Text

AP. Formacin Online.

239

Microsoft Office Excel 2010


MSFlexGrid1.TextMatrix(FILA, 3) = TextBox3.Text
MSFlexGrid1.TextMatrix(FILA, 4) = TextBox4.Text
MSFlexGrid1.TextMatrix(FILA, 5) = TextBox5.Text
Label7.Caption = Val(Label7.Caption) + Val(TextBox5.Text)
Call CommandButton1_Click
TextBox1.SetFocus
End Sub
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

Call IngCar(KeyAscii)
End Sub
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

Call IngCar(KeyAscii)
End Sub
Private Sub TextBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

Call IngCar(KeyAscii)
End Sub
Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

Call IngNumTelf(KeyAscii)
End Sub
Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

Call IngNum(KeyAscii)
End Sub
Private Sub UserForm_Activate()
FILA = 0
MSFlexGrid1.Cols = 6
MSFlexGrid1.TextMatrix(0, 1) = Label1.Caption
MSFlexGrid1.TextMatrix(0, 2) = Label2.Caption
MSFlexGrid1.TextMatrix(0, 3) = Label3.Caption
MSFlexGrid1.TextMatrix(0, 4) = Label4.Caption
MSFlexGrid1.TextMatrix(0, 5) = Label5.Caption

240

AP. Formacin Online.

Microsoft Office Excel 2010


MSFlexGrid1.ColWidth(0) = 10
MSFlexGrid1.ColWidth(1) = 2000
MSFlexGrid1.ColWidth(2) = 2000
MSFlexGrid1.ColWidth(3) = 2000
MSFlexGrid1.ColWidth(4) = 800
MSFlexGrid1.ColWidth(5) = 1000
WindowState = 2
End Sub

Paso a Paso: Uso de control ActiveX - 3


1. Disear una aplicacin que permita mostrar el cuadro de desembolsos de un
prstamo, dado a un determinado nmero de periodos y tasa de inters,
aplicando el clculo de la amortizacin con el mtodo Alemn. As mismo se
debe dar consistencia al ingreso de datos numricos.
2. Frmulas a utilizar.
Prstamo = Prstamo perodo anterior Amortizacin
Saldo = Saldo anterior Amortizacin
Inters = Saldo del perodo * Tasa de inters
Cuota = Amortizacin + Inters
3. Hacer clic en la ficha
4. Hacer clic en el men
mostrado a continuacin.

, botn
, botn

y disear el formulario

Hacer clic en el men


Herramientas,
Controles
adicionales para agregar el
control FlexGrid a la caja
de controles.

AP. Formacin Online.

241

Microsoft Office Excel 2010

5. Hacer clic en el men


General

, botn

y escriba el siguiente programa

Declaraciones Permite dar consistencia al ingreso de datos numricos

Public Sub IngNumero(ByVal KeyAscii As MSForms.ReturnInteger)


If (KeyAscii >= 48 And KeyAscii <= 56) Then
Ascii 48 =0

Exit Sub

Ascii 57 = 9

Else
KeyAscii = 0
End If

Si el carcter ingresado
no es nmero, se impide
el ingreso del caracter

End Sub
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

Call IngNumero(KeyAscii)

Invoca al procedimiento IngNumero

End Sub
Private Sub CommandButton1_Click()
Dim xcapital As Single
Dim xinteres As Single

Declarar las variables a utilizarse

Dim xperiodos As Single


Dim xamortiza As Single
Dim xpa As Single

Asigna datos a las variables

xcapital = Val(TextBox1.Text)
xinteres = Val(TextBox2.Text)
xperiodos = Val(TextBox3.Text)
xamortiza = xcapital / xperiodos

Asigna como No.de


filas
del
control
FlexGrid, el nmero
de periodos

MSFlexGrid1.Rows = Val(TextBox3.Text) + 1
For f = 1 To Val(TextBox3.Text)
MSFlexGrid1.TextMatrix(f, 1) = f

Crea
un
ciclo
repetitivo de 1 hasta
el No. de periodos

MSFlexGrid1.TextMatrix(f, 2) = xamortiza
If f = 1 Then
MSFlexGrid1.TextMatrix(f, 3) = xcapital
Else
MSFlexGrid1.TextMatrix(f, 3) = xpa - xamortiza
End If
242

AP. Formacin Online.

Microsoft Office Excel 2010

xpa = Val(MSFlexGrid1.TextMatrix(f, 3))


MSFlexGrid1.TextMatrix(f, 4) = xpa * (xinteres / 100)
xi = Val(MSFlexGrid1.TextMatrix(f, 4))
MSFlexGrid1.TextMatrix(f, 5) = xamortiza + xi
Next
End Sub
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

Call IngNumero(KeyAscii)
Invoca al procedimiento IngNumero

End Sub

Private Sub TextBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

Call IngNumero(KeyAscii)

Invoca al procedimiento IngNumero

End Sub
Asigna la cantidad de filas
para el FlexGrid.

Private Sub UserForm_Activate()


MSFlexGrid1.Cols = 6
MSFlexGrid1.TextMatrix(0, 1) = "No."

MSFlexGrid1.TextMatrix(0, 2) = "Amortizacin"
MSFlexGrid1.TextMatrix(0, 3) = "Saldo"
MSFlexGrid1.TextMatrix(0, 4) = "Inters"
MSFlexGrid1.TextMatrix(0, 5) = "Cuota"
End Sub

Paso a Paso: Uso de control ActiveX - 4


1. Disear una aplicacin que permita asignara puntajes al azar a 10
participantes a un concurso de belleza, se evalan por 4 criterios: Belleza,
inteligencia, cuerpo, desenvolvimiento. Los puntajes estn entre 1 y 10 por
cada criterio. Al final mostrar el nmero de la participante ganadora y su
puntaje

2. Hacer clic en la ficha

AP. Formacin Online.

, botn

243

Microsoft Office Excel 2010

3. Hacer clic en el men


, botn
formulario mostrado a continuacin.

y disear el

Control ListBox1

4. Hacer clic en el men


programa
General

, botn

y escriba el siguiente

Declaraciones

Dim numpart As Integer


Dim numcrit As Integer
Dim PtjeMax As Integer
Dim PtjeMin As Integer
Dim Puntaje(12, 4) As Integer
Dim total(12) As Integer
Private Sub CommandButton1_Click()
ListBox1.Clear
Randomize
ScaleMode = 3
'Generacin de los puntajes aleatorios
For candidata = 1 To 12
244

AP. Formacin Online.

Microsoft Office Excel 2010

For criterio = 1 To 4
Puntaje(candidata, criterio) = Int((10 - 5 + 1) * Rnd + 5)
Next
Next
'Determinar el puntaje total por participante
For contpart = 1 To 12
total(contpart) = 0
For contcrit = 1 To 4
total(contpart) = total(contpart) + Puntaje(contpart, contcrit)
Next
Next
For contpart = 1 To 12
registro = registro + "Concursante No. " & Right(("0" + Trim(Str(contpart))), 2) + "

"

For contcrit = 1 To 4
registro = registro + Right(("0" + Trim(Str(Puntaje(contpart, contcrit)))), 2) + "

"

Next
ListBox1.AddItem registro + Str(total(contpart))
registro = ""
Next
'Determinar mayor puntaje total
mayor = 0
numero = 0
For contpart = 1 To 12
If total(contpart) > mayor Then
mayor = total(contpart)
numero = contpart
End If
Next
TextBox1.Text = numero
TextBox2.Text = mayor
End Sub

AP. Formacin Online.

245

Microsoft Office Excel 2010

Cuestionarios
1. Qu es una funcin.
______________________________________________________________
______________________________________________________________
2. Qu es un Control Active X.
______________________________________________________________
______________________________________________________________
3. Considera til la creacin de funciones personalizadas.
______________________________________________________________
______________________________________________________________
4. Crear una funcin que permite determinar si un ao es bisiesto.
______________________________________________________________
______________________________________________________________
5. Crear una funcin que permita determinar la edad de una persona.
______________________________________________________________
______________________________________________________________

246

AP. Formacin Online.

También podría gustarte