Está en la página 1de 748

SERVICIO NACIONAL DE ADIESTRAMIENTO EN TRABAJO INDUSTRIAL

TÉCNICOS Y
ADMINISTRADORES
INDUSTRIALES

FASCÍCULO DE APRENDIZAJE

COMPUTACIÓN E
INFORMÁTICA
Parte I

CÓDIGO: 89001210
Contenido
ANÁLISIS DE DATOS I.............................................................................................................. 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 múltiple ..................................................................................................................... 17
Quitar un Filtro................................................................................................................... 18
Utilizar estilos rápidos y crear estilos de formato de tabla ................................................ 18
HERRAMIENTAS DE DATOS ........................................................................................................ 25
Texto en columnas ............................................................................................................ 25
Quitar duplicados .............................................................................................................. 30
VALIDACIÓN DE DATOS ............................................................................................................. 32
Restringir el ingreso de datos ........................................................................................... 32
Validar con intervalo de números...................................................................................... 32
ANÁLISIS 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
CONSOLIDACIÓN DE DATOS Y REFERENCIA 3D .......................................................................... 49
Cuando consolidar datos de varias hojas ......................................................................... 49
Consolide por fórmula ....................................................................................................... 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 inflación ............................................................................ 60
Tasa nominal ..................................................................................................................... 62
Tasa efectiva (i’) ................................................................................................................ 63
Préstamo de un banco: Función PAGO ........................................................................... 64
Valor presente de la inversión/pagos futuros: Función VA ............................................... 68
Valor futuro de la inversión: Función VF ........................................................................... 70
Número de pagos de inversión: Nper ............................................................................... 73
Función 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 devolución para un flujo de liquidez no periódico .................. 82
Calcular la tasa interna de devoluciones múltiples ........................................................... 83
CUESTIONARIOS ...................................................................................................................... 84
ANÁLISIS DE DATOS II........................................................................................................... 85
HERRAMIENTAS DE ANÁLISIS ESTADÍSTICO................................................................................ 87
Tendencia lineal de ajuste perfecto automáticamente...................................................... 87
Tendencia geométrica de forma automática..................................................................... 88
Tendencia lineal o geométrica de forma manual .............................................................. 89
Agregar una línea de tendencia a un gráfico .................................................................... 90
Proyectar valores .............................................................................................................. 93
Uso de cuadros de Histogramas para el cálculo de frecuencias individuales y
acumulativas ..................................................................................................................... 96
DEFINICIÓN Y RESOLUCIÓN DE PROBLEMAS CON SOLVER ......................................................... 101
Generalidades sobre Solver............................................................................................ 101
Carga del programa de complemento Solver ................................................................. 101
Cómo configura Solver .................................................................................................... 104
Modificación de forma de búsqueda de soluciones en Solver ........................................ 105
Desarrollo de casos tipo utilizando Solver ...................................................................... 106
CUESTIONARIOS .................................................................................................................... 108
FORMULARIOS ...................................................................................................................... 109
ACTIVACIÓN DE LA FICHA PROGRAMADOR ................................................................................ 110
DISEÑO 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
Definición......................................................................................................................... 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
PROGRAMACIÓN CON VBA ................................................................................................. 159
INTRODUCCIÓN AL VISUAL BASIC ............................................................................................ 160
FUNDAMENTOS DE PROGRAMACIÓN VBA ................................................................................ 162
Estructura Secuencial. .................................................................................................... 162
Estructura Condicional. ................................................................................................... 163
Sentencia selección-caso................................................................................................ 165
Estructura Repetitiva. ...................................................................................................... 167
LA VENTANA DEL EDITOR DE VISUAL BASIC .............................................................................. 170
Terminología de Visual Basic.......................................................................................... 171
Programación por eventos .............................................................................................. 172
Convenciones para los nombres de los objetos ............................................................. 172
Formularios ..................................................................................................................... 173
Editando Código .............................................................................................................. 174
CREACIÓN 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 declaración de variables en un proyecto VB. ............................................... 178
Sentencia Dim ................................................................................................................. 178
Sentencia PRIVATE ........................................................................................................ 178
Sentencia PUBLIC .......................................................................................................... 178
Sentencia GLOBAL ......................................................................................................... 178
Sentencia STATIC........................................................................................................... 178
Resumen de declaración de variables ............................................................................ 179
Forma de conocer el tipo de una variable. Función TypeName ..................................... 179
OBJETOS PROPIEDADES, MÉTODOS Y EVENTOS ....................................................................... 180
Control Etiqueta (Label) .................................................................................................. 180
Control Cuadro de Texto (Textbox)................................................................................. 181
Control Botón de Comando (Commandbutton) .............................................................. 181
Estableciendo Propiedades ............................................................................................ 182
DEFINICIÓN DE VARIABLES, TIPOS DE DATOS Y CONSTANTES .................................................... 183
Option Explicit .................................................................................................................. 183
Tipos de Variables........................................................................................................... 183
Declaración de variables ................................................................................................. 184
Tipos de variables ........................................................................................................... 184
a. Variables Alfanuméricas.............................................................................................. 185
b. Variable Numéricas ..................................................................................................... 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 múltiple 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 notación A1 ................................................................................................. 196
Hacer referencia a celdas utilizando números de índice ................................................ 196
Hacer referencia a filas y columnas ................................................................................ 197
Hacer referencia a celdas utilizando una notación 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 relación con otras celdas ................................................. 200
Hacer referencia a celdas usando un objeto Range ....................................................... 200
Hacer referencia a todas las celdas de la hoja de cálculo .............................................. 201
Hacer referencia a varios rangos .................................................................................... 201
Usar la propiedad Range ................................................................................................ 201
Usar el método Union...................................................................................................... 201
Usar la propiedad Areas.................................................................................................. 202
Bucles en un rango de celdas ......................................................................................... 202
Seleccionar y activar celdas............................................................................................ 203
Usar el método Select y la propiedad Selection ............................................................. 204
Seleccionar celdas en la hoja de cálculo activa .............................................................. 204
Activar una celda en una selección................................................................................. 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 número de índice .............................................................. 207
Hacer referencia a hojas por su nombre ......................................................................... 207
AÑADIR MÓDULOS VBA .......................................................................................................... 208
TRABAJAR CON USERFORMS .................................................................................................. 208
USO DE CONTROLES DE FORMULARIO...................................................................................... 209
Control Marco (Frame) .................................................................................................... 209
Control Casilla de Verificación (CheckBox) .................................................................... 209
Control Botón de Opción (OptionButton) ........................................................................ 210
Control Cuadro de Lista (ListBox) ................................................................................... 211
Control Cuadro Combinado (ComboBox) ....................................................................... 212
FUNCIONES VBA INPUTBOX, MSGBOX ................................................................................... 215
Función MsgBox() ........................................................................................................... 215
Función InpuBox() ........................................................................................................... 215
METODO GETOPENFILENAME , GETSAVEASFILENAME ............................................................ 215
Función GetOpenfilename () ........................................................................................... 215
Función 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 MÓDULOS PARA FUNCIONES ....................................................................................... 231
Ventajas........................................................................................................................... 231
Características ................................................................................................................ 231
USO DE ARGUMENTOS EN LAS FUNCIONES ............................................................................... 232
EJECUTAR UNA FUNCIÓN ........................................................................................................ 233
Recursividad.................................................................................................................... 234
CONTROLES ACTIVE X ........................................................................................................... 235
CUESTIONARIOS .................................................................................................................... 246
Capítulo

Análisis de Datos I
En este capítulo trataremos:

 Herramientas de datos

 Consolidación y referencias 3D

¿Qué se necesita para ser el mejor?


Concentración. Disciplina. Una ilusión.

F. Griffith
Medalla de oro olímpica

SENATI-Computación e Informática 1
Microsoft Office Excel 2007

Formato como tabla


Excel es primariamente una hoja de cálculo, pero además de ello tiene capacidad para
analizar tablas de datos, tales como stock, clientes, planillas, monitorear cuentas y
ventas.
La combinación de una serie de funciones hace al Excel una excelente herramienta de
análisis para negocios y administración de sistemas.
Excel usa el término Lista para referirse a información almacenada en filas y columnas,
si usted está familiarizado con versiones anteriores de Excel, entonces es probable que
este más familiarizado con el término 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 iníciales
a su lista, podemos usar cualquiera de los siguientes métodos para ingresar datos:
Uso de ingreso automático de datos usando la ficha de datos
Ingresar los datos directamente en la hoja dentro de las celdas vacías

2 SENATI-Computación e Informática
Paso a Paso: Agregar el comando formulario a la barra de herramientas
de acceso rápido

1. Hacer clic en el botón Botón Office

2. Hacer clic en el botón , se presenta el cuadro de diálogo


“Opciones Excel”.

Hacer clic en la
opción Personalizar

3. Se presenta el cuadro de diálogo “Personalizar la barra de herramientas de


acceso rápido”.

SENATI-Computación e Informática 3
Microsoft Office Excel 2007

Seleccionar “Todos los


comandos”

Seleccionar
“Formulario …”

4. Hacer clic en el botón 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
continuación.

4 SENATI-Computación e Informática
s de I

3. Seleccionar al celda A2
4. Hacer clic en el botón 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 botón


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

SENATI-Computación e Informática 5
Microsoft Office Excel 2007

8. Hacer clic en el botón 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 botón Formulario

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


BD Pedidos”

6 SENATI-Computación e Informática
s de datos II

6. Primero localizaremos el registro, para ello hacer clic en el botón

Ingrese “SoftPlus”,
nombre del cliente a
localizar

Hacer clic en el botón


“Buscar siguiente”

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

8. Hacer clic en el botón , Excel preguntará si desea eliminar


permanentemente este registro.

SENATI-Computación e Informática 7
Microsoft Office Excel 2007

9. Hacer clic en el botón

10. Hacer clic en el botón para terminar

Ordenar datos
La ordenación de los registros nos permite ver y comprender mejor los datos, así como a
organizarlos y encontrarlos más fácilmente y a tomar decisiones más eficaces.
Se puede ordenar los registros por: Texto, números, fechas u horas, color de celda, color
de fuente o icono, por una lista personalizada, filas, por más de una columna o fila,
ordenar una columna en un rango de celdas sin afectar a las demás.

Paso a Paso: Ordenar por un campo texto


1. Abrir el archivo “1 BD Pedidos”

2. Ordenaremos por el campo de datos “Cliente” alfabéticamente en orden


ascendente
3. Hacer clic en la celda A2

4. Hacer Clic en la ficha , desplace su visión al grupo Ordenar y filtrar

Hacer clic en el botón


“Ordenar de A a Z”

5. Se mostrarán sus registros ordenados por el campo cliente

8 SENATI-Computación e Informática
s de datos II
I

Paso a Paso: Ordenar por un campo texto distinguiendo las mayúsculas


de las minúsculas
1. Abrir el archivo “1 BD Pedidos”

2. Ordenaremos por el campo de datos “NombreProducto” alfabéticamente en


orden ascendente
3. Hacer clic en la celda A2

4. Hacer clic en la ficha , desplace su visión al grupo Ordenar y filtrar

Hacer clic en
el botón
“Ordenar”
5. Se muestra el siguiente cuadro de diálogo

6. Hacer clic en el botón .


7. Del cuadro de diálogo presentado activar
la casilla de verificación “Distinguir
mayúsculas de minúscula”

SENATI-Computación e Informática 9
Microsoft Office Excel 2007

8. Hacer clic en el botón para continuar. Se mostrará el cuadro de


diálogo ordenar

Seleccionar columna
“NombreProducto”

9. Hacer clic en el botón para terminar. Se mostrarán los registros


ordenados por el campo NombreProducto, distinguiendo las mayúsculas de las
minúsculas.

Paso a Paso: Ordenar por un campo numérico


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 , desplace su visión al grupo Ordenar y filtrar

10 SENATI-Computación e Informática
s de datos II

Hacer clic en el botón


“Ordenar”

5. Se presenta el siguiente cuadro de diálogo

Hacer clic para Seleccionar como


seleccionar la criterio de ordenación
columna “Cantidad” “De mayor a menor”

6. Hacer clic en el botón para terminar, se mostrarán los


registros ordenados por el campo cantidad

Paso a Paso: Ordenar por fecha u hora


1. Abrir el archivo “1 BD Pedidos”

SENATI-Computación e Informática 11
Microsoft Office Excel 2007

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 visión al grupo Ordenar y filtrar

Hacer clic en el botón


“Ordenar”

5. Se presenta el siguiente cuadro de diálogo

Seleccionar la Seleccione su criterio


columna de ordenación
“FechaPedido”

6. Para terminar hacer clic en el botón se muestran los registros


ordenados por fecha de pedido

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, también puede
ordenar por estos colores. Además, puede ordenar por un conjunto de iconos
creado mediante un formato condicional.

12 SENATI-Computación e Informática
s de datos II

Paso a Paso: Ordenar por más 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 visión al grupo Ordenar y filtrar

Hacer clic en el botón


“Ordenar”

5. Se presenta el siguiente cuadro de diálogo

Seleccionar columna “Cliente” como


primer criterio de ordenación

Seleccionar columna
Seleccionar columna “FechaPedido” como segundo
“NombreProducto” como tercer criterio de ordenación
criterio de ordenación

6. Hacer clic en el botón para terminar. Se muestran los registros


ordenados por cliente, fechapedido, nombreproducto en orden descendente.

SENATI-Computación e Informática 13
Microsoft Office Excel 2007

Filtro de datos
El filtrado de datos constituye un método fácil y rápido para encontrar subconjuntos de
datos en una lista y trabajar con ellos.
Cuando se filtra una lista sólo visualizará las filas que cumplen un conjunto de
condiciones de búsqueda llamado criterios.
A diferencia de la ordenación, la filtración no reorganiza las listas. La filtración oculta
provisionalmente las filas que no desea mostrar.
Cuando Excel filtra las filas, la hoja de cálculo se coloca en el modo de filtración. En
este modo se podrá editar, dar formato, efectuar representaciones gráficas 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 sección.

3. Ubicarse en la celda A5.

4. Hacer clic en la ficha ,botón


5. Ahora simplemente con hacer clic en la lista desplegable podrá filtrar los
registros de datos según sus requerimientos.

14 SENATI-Computación e Informática
s de datos II

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

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

7. Los registros filtrados se muestran como en la gráfica.

SENATI-Computación e Informática 15
Microsoft Office Excel 2007

Filtro personalizado
Se utiliza para especificar condiciones utilizando operadores booleanos.

Paso a Paso: Filtros personalizados


1. Abrir el archivo “FILTROS” o diseñar la hoja de cálculo
Utilice la siguiente lista de datos para filtrar registros donde el monto de la
pensión está entre: 200 y 350.

a. Ubicarse en la celda A5.


b. Hacer clic en la ficha , botón , ,

c. De la lista de opciones presentadas elegir


La opción: Mayor o igual a…
Se presenta el siguiente cuadro de diálogo
2. Ingrese los valores según se muestra en la gráfica, para que sólo se muestre los
alumnos que pagan una pensión que está entre 200 y 350 nuevos soles.

3. Hacer clic en el botón para aplicar el filtro.

16 SENATI-Computación e Informática
s de datos II

Pensiones de alumnos
con valor entre 200 y 350.

Filtro múltiple
Se utiliza para especificar múltiples condiciones

Paso a Paso: Filtros múltiple


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 , botón


4. De la lista de opciones presentadas elegir
Procedencia: CIV
Nivel: P
Grado: 1

SENATI-Computación e Informática 17
Microsoft Office Excel 2007

Hacer clic y dejar sólo activado la


casilla de verificación 1
Hacer clic y dejar sólo activado la
casilla de verificación P

Hacer clic y dejar sólo activado la


casilla de verificación 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 , botón

Utilizar estilos rápidos y crear estilos de formato de tabla


Microsoft Office Excel proporciona un gran número de estilos de tabla (o estilos
rápidos) predefinidos que puede utilizar para dar formato rápidamente a una tabla. Si los
estilos de la tabla predefinida no satisfacen sus necesidades, puede crear y aplicar un
estilo de tabla personalizado. Aunque sólo 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 rápidos de tabla


1. Abrir el archivo “1BD pedidos”. Se muestra la siguiente hoja de cálculo

18 SENATI-Computación e Informática
s de datos II

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 prediseñados, categorizados en: Claro,


medio, oscuro.

Seleccionar uno
de los estilos
mostrados

6. Luego de elegir un estilo se presenta un cuadro de diálogo

SENATI-Computación e Informática 19
Microsoft Office Excel 2007

7. Verifique que el rango seleccionado es el correcto, active la casilla de


verificación “La tabla tiene encabezados”.

8. Finalmente hacer clic en el botón 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 cálculo

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 SENATI-Computación e Informática
s de datos II

5. Se presenta un conjunto de estilos prediseñados, categorizados en: Claro,


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

Hacer clic en el
botón “Nuevo
estilo de tabla …”

6. Se muestra el cuadro de diálogo Nuevo estilo rápido 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
botón “Formato”

7. Se presenta el cuadro de diálogo formato de celda

SENATI-Computación e Informática 21
Microsoft Office Excel 2007

Elegir donde
Hacer clic en la aplicará los
ficha “Bordes” bordes

Elegir el estilo
de línea

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 botón

22 SENATI-Computación e Informática
s de datos II

Paso a Paso: Modificar estilo rápido de la tabla de datos


1. Abrir el archivo “1BD pedidos”. Se muestra la siguiente hoja de cálculo

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


opción “Modificar”

7. Realizar los cambios necesarios

SENATI-Computación e Informática 23
Microsoft Office Excel 2007

Elegir “Primera
franja de fila”

Hacer clic sobre la


opción “Formato”

8. Del cuadro de diálogo “Formato de celdas”, elegir la ficha “Relleno”

Seleccionar
color de fondo

24 SENATI-Computación e Informática
s de datos II

9. Hacer clic en el botón , para terminar y veamos cómo


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 botón 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, validación de datos, análisis Y si. Las cuales describiremos a continuación.

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 función de un delimitador


Utilice este método 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 cálculo

SENATI-Computación e Informática 25
Microsoft Office Excel 2007

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


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 opción
“Delimitados”

4. Hacer clic en el botón


5. En el siguiente cuadro de diálogo se preguntará que separador utilizará entre los
siguientes: Tabulación, punto y coma, coma, espacio, otro.
Elegir la opción “coma”

26 SENATI-Computación e Informática
s de datos II

Elegir coma
como separador

6. Hacer clic en el botón

Elegir
“Texto”

Celda a partir de donde


se colocaran los datos

7. Hacer clic en el botón para terminar, su hoja queda como se


muestra a continuación

SENATI-Computación e Informática 27
Microsoft Office Excel 2007

El texto de dividió en dos


columnas, una para el
nombre y la otra para el
apellido. Se utilizo como
delimitador de división 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 cálculo

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


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
opción
“Delimitados”

28 SENATI-Computación e Informática
s de datos II

4. Hacer clic en el botón


5. En el siguiente cuadro de diálogo se preguntará que separador utilizará entre los
siguientes: Tabulación, punto y coma, coma, espacio, otro.
Elegir la opción “Espacio”

Elegir “Espacio”
como separador

6. Hacer clic en el botón

Elegir
“Texto”

Celda a partir de
donde se colocaran
los datos

SENATI-Computación e Informática 29
Microsoft Office Excel 2007

7. Hacer clic en el botón para terminar, su hoja queda como se


muestra a continuación
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
cálculo

2. Ordenar la lista por el campo que desea eliminar los datos duplicados

3. Hacer clic en la ficha

Hacer clic en
el botón
Ordenar

30 SENATI-Computación e Informática
s de datos II

4. Se presenta el cuadro de diálogo ordenar

Hacer clic para seleccionar Hacer clic para activar la


Nombre como columna a casilla indicando que si
ordenar contamos con
encabezados

5. Hacer clic en el botón “Aceptar” para terminar con la ordenación

6. Hacer clic en la ficha

Hacer clic en el botón


“Quitar duplicados

7. Se presenta el cuadro de diálogo “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 botón para terminar. Excel envía un mensaje


que indica que se eliminaron 4 valores duplicados

SENATI-Computación e Informática 31
Microsoft Office Excel 2007

9. Su tabla queda como se muestra a continuación.

Validación de datos
Si desea asegurarse de que se introducen los datos correctos en una hoja de cálculo,
puede especificar qué datos son válidos para cada celda o cada rango de celdas. Puede
restringir los datos a un tipo determinado (como números enteros, números decimales o
texto) y definir límites en las entradas válidas. Puede especificar una lista de entradas
válidas o limitar el número 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 validación 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 números
Se puede restringir el ingreso de datos a las celdas, de tal forma que solamente acepte
como datos un intervalo numérico.

Paso a Paso: Validar intervalo numérico


1. Abrir el archivo “1 Validar datos”

32 SENATI-Computación e Informática
s de datos II

2. Seleccionar las celdas C4:C13 para agregarle una restricción, que acepte sólo
como datos los números: 1 hasta 120.

3. Elegir la ficha ,

Hacer clic en la
ficha
“Configuración”

Elegir “Números
enteros”

Elegir “Entre”
Ingresar “1” como mínimo y
“120” como máximo.

SENATI-Computación e Informática 33
Microsoft Office Excel 2007

a. Seleccionar la opción Permitir: “Número entero”


b. Datos: Entre
c. Mínimo: 1 Máximo: 120
4. Cambiar a la pestaña 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 título “Edad 1 a


120”

Escribir mensaje “Ingrese un


número entre 1 y 120”

5. Finalmente hacer un clic en el botón


Ahora a propósito 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 SENATI-Computación e Informática
s de datos II

2. Seleccionar las celdas E4:E13 para agregarle una restricción, que acepte sólo
como datos fechas: entre 1/1/1965 hasta 1/1/1980

3. Elegir la ficha ,

Hacer clic en la ficha


configuración

Elegir “Fecha”

Elegir “Entre”
Ingresar “1/1/1965” como mínimo y
“1/1/1980” como máximo.

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


mostrará cuando intente ingresar un dato.

Hacer clic en la ficha


“Mensaje de entrada”

SENATI-Computación e Informática 35
Microsoft Office Excel 2007

Escribir título “1/1/1965


a 1/1/1980”

Escribir mensaje

5. Finalmente hacer un clic en el botón

Paso a Paso: Eliminar una regla de validación


1. Seleccionar las celdas que desee eliminar la validación de datos.

2. Hacer clic en la ficha Hacer clic en la lista


“Validación de datos”

Hacer clic en el botón


“Validación de datos …”

36 SENATI-Computación e Informática
s de datos II

3. Del cuadro de diálogo “Validación de datos” hacer clic en el botón

Paso a Paso: Rodear con círculo datos no válidos

1. Hacer clic en la ficha Hacer clic en la lista


“Validación de datos”

Hacer clic en el botón


“Rodear con un círculo
datos no válidos”

Paso a Paso: Borrar círculos de validación

1. Hacer clic en la ficha Hacer clic en la lista


“Validación de datos”

Hacer clic en el botón


“Borrar círculos de
validación”

Análisis Y si
Permite crear escenarios para realizar predicciones. Por ejemplo, puede realizar análisis
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 fórmula y, a
continuación, determinar qué conjuntos de valores generarán dicho resultado.
Excel proporciona varias herramientas diferentes para ayudar a realizar el tipo de
análisis que se ajuste a sus necesidades.

SENATI-Computación e Informática 37
Microsoft Office Excel 2007

Uso del administrador de escenarios


Excel es ideal para el análisis 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
automáticamente en la hoja de cálculo. Puede utilizar los escenarios para prever el
resultado de un modelo de hoja de cálculo. Puede crear y guardar diferentes grupos de
valores en una hoja de cálculo y, a continuación, 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 más valores de entrada
- Un grupo claro de uno o más valores resultantes que deberán cambiar basado
en las entradas.

Paso a Paso: Crear escenarios


1. Abrir el archivo “1 Escenarios”

2. Crear tres escenarios: Mejor Opción, Caso Optimista y el Caso Pesimista.

3. Hacer clic en la ficha

38 SENATI-Computación e Informática
s de datos II

Hacer clic en el botón


análisis Y si.

4. De las opciones presentadas elegir “Administrador de escenarios”

Hacer clic en el botón


“Administrador de escenarios”

5. Se presenta el cuadro de diálogo “Administrador de escenarios”

6. Hacer clic en el botón

Escriba “Mejor
opción”

Seleccione el bloque
de celdas B15:B18

Hacer clic en el
botón “Aceptar”

7. Del cuadro de diálogo valores del escenario especifique según la gráfica


mostrada

SENATI-Computación e Informática 39
Microsoft Office Excel 2007

Valores del escenario


“Mejor opción”

8. Hacer clic en el botón para adicionar los escenarios restantes.

9. Se presenta el cuadro de diálogo “Modificar escenario”

Escriba “caso optimista”


como nombre de escenario

Escriba B15:B18 como


celdas cambiantes

Del cuadro de diálogo valores del escenario especifique según la gráfica


mostrada Hacer clic en el
botón “Aceptar”

Valores del escenario


“Caso optimista”

10. Hacer clic en el botón para adicionar los escenarios restantes.

40 SENATI-Computación e Informática
s de datos II

Escriba “caso Pesimista”


como nombre de escenario

Escriba B15:B18 como


celdas cambiantes

Hacer clic en el
botón “Aceptar”

11. Del cuadro de diálogo valores del escenario especifique según la gráfica
mostrada

Valores del escenario


“Caso Pesimista”

12. Hacer clic en el botón para terminar


13. Se presenta el cuadro de diálogo administrador de escenarios.
14. Guardar el archivo

SENATI-Computación e Informática 41
Microsoft Office Excel 2007

Paso a Paso: Mostrar escenarios


1. Abrir el archivo “1 Escenarios”

2. Hacer clic en la ficha

Hacer clic en el botón


análisis Y si.
3. De las opciones presentadas elegir “Administrador de escenarios”

Hacer clic en el botón


“Administrador de escenarios”

4. Se presenta el cuadro de diálogo “Administrador de escenarios”

5. Seleccione el escenario a mostrar, luego hacer clic en el botón

Seleccione escenario a mostrar,


luego hacer clic en el botón

Paso a Paso: Modificar un Escenario

1. Abrir el archivo “1 Escenarios”

2. Hacer clic en la ficha

42 SENATI-Computación e Informática
s de datos II

Hacer clic en el botón


análisis Y si.

3. De las opciones presentadas elegir “Administrador de escenarios”

Hacer clic en el botón


“Administrador de escenarios”

4. Se presenta el cuadro de diálogo “Administrador de escenarios”


5. Seleccione el escenario a modificar, luego hacer clic en el botón
6. Se presenta el cuadro de diálogo “Modificar escenario”

7. Hacer clic en el botón


8. Se presenta el cuadro de diálogo “Valores dele escenario”

Escriba los nuevos valores


de su escenario

9. Hacer clic en el botón para terminar

SENATI-Computación e Informática 43
Microsoft Office Excel 2007

Buscar Objetivo
En el caso de que conozca el resultado deseado de una fórmula sencilla, pero no la
variable que determina el resultado, podrá utilizar la función Buscar objetivo. Al
realizar una búsqueda de objetivo, Microsoft Excel varía el valor de celda
específica hasta que una fórmula dependiente de dicha celda devuelve el resultado
deseado.

Paso a Paso: Modificar un escenarios


1. Diseñar la siguiente hoja de cálculo

En el ejemplo se muestra el calculo de pago de un préstamo en un periodo de


90 meses a una tasa de interés del 14%. Se utiliza la función =Pago

2. Hacer clic en la ficha

Hacer clic en el
botón análisis Y si.

3. De las opciones presentadas elegir “Buscar objetivo …”

Hacer clic en el botón


“Buscar objetivo”

4. Se presenta el cuadro de diálogo “Buscar objetivo”


Queremos conocer cuánto de interés se debe pagar si queremos desembolsar
2200 mensual, para pagar los 50,000 del préstamo

Fórmula que
calcula el pago
mensual Valor que
queremos pagar
mensualmente

Valor a
localizar

44 SENATI-Computación e Informática
s de datos II

5. Hacer clic en el botón , se muestra el estado de la búsqueda de


objetivo.

6. Hacer clic en el botón , para terminar

Tabla de datos
Una tabla de datos es un rango de celdas que muestra cómo afecta el cambio de
algunos valores de las fórmulas a los resultados de las mismas.
Las tablas de datos constituyen un método abreviado para calcular varias
versiones en una sola operación, así como una manera de ver y comparar los
resultados de todas las variaciones distintas en la hoja de cálculo.

Tabla de datos de una variable


Entre uno de los mejores ejemplos de análisis sensitivo, esta una tabla de datos
que calcula el pago de préstamo para diferentes tasas de interés.
La tabla de datos de ingreso simple descrita en esta sección crea un cuadro de
pagos mensuales para una serie de tasas de interés.

Paso a Paso: Tabla de datos de una variable


1. Diseñar la siguiente hoja de cálculo

Escribir los datos


según se muestra

En el ejemplo se muestra el calculo de pago de un préstamo de 20,000 en un


periodo de 20 años a una tasa de interés del 25%. Se utiliza la función =Pago

SENATI-Computación e Informática 45
Microsoft Office Excel 2007

2. Diseñar un cuadro que permita conocer cuánto pagaremos si la tasa de interés


varía entre 26% y 35%.

Escriba esta fórmula


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

Editar la tabla de tasa de


interés

3. Seleccionar el bloque de celdas A8:B18 (Tabla de interés)

Seleccionar
celdas A8:B18

46 SENATI-Computación e Informática
s de datos II

4. Hacer clic en la ficha

Hacer clic en el
botón análisis Y si.

5. De las opciones presentadas elegir “Buscar objetivo …”

Hacer clic en el botón


“Tabla de datos”

6. Se muestra el cuadro de diálogo tabla de datos


7. En el campo: Celda de entrada (Columna) escribir B4 que representa la tasa
de interés del cuadro de préstamo.

8. Hacer clic en el botón para terminar, se debe mostrar el siguiente


resultado

Montos que se deben


pagar según la tasa de
interés asociada

SENATI-Computación e Informática 47
Microsoft Office Excel 2007

Tablas de datos de dos variables


Continuando con nuestro ejemplo anterior, como resolveríamos para analizar
cuanto pagaríamos, según un rango de tasas de interés y un rango de montos
prestados.

Paso a Paso: Tabla de datos de dos variable


1. Modificar su hoja como se muetsra en la gráfica

Agregar el siguiente
cuadro a su hoja

2. Seleccionar el bloque de celdas A8:G18 (Matriz: interés - monto)

3. Hacer clic en la ficha

Hacer clic en el
botón análisis Y si.

4. De las opciones presentadas elegir “Buscar objetivo …”

Hacer clic en el botón


“Tabla de datos”

48 SENATI-Computación e Informática
s de datos II

5. Se muestra el cuadro de diálogo tabla de datos

6. En el campo: Celda de entrada (Columna) escribir B4 que representa la tasa


de interés del cuadro de préstamo. En el cuadro celda de entrada (fila) escribir
b3 que representa al monto prestado.

Monto prestado

Tasa de interés

7. Hacer clic en el botón para terminar, se debe mostrar el siguiente


resultado

Montos prestados

Tasas
de
interés Monto a pagar
mensual

Consolidación de datos y Referencia 3D


Cuando consolidar datos de varias hojas
Cuando se tenga listas de datos con información 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 opción se utiliza para obtener diversos tipos de
cálculo estadístico (suma, promedio, máximo, mínimo, varianza, etc.) en base a la
información guardada en todos estos cuadros.

SENATI-Computación e Informática 49
Microsoft Office Excel 2007

Si desea... Entonces…

Organizar los datos de todas las hoja de cálculo en orden Consolide por posición
y ubicación idénticos.

Organizar los datos de forma diferente en las hoja de Consolide por categorías
cálculo independientes pero utilizar los mismos rótulos
de fila y de columna para que la hoja de cálculo maestra
pueda hacer coincidir los datos.

Utilizar fórmulas con referencias de celdas o referencias Consolide por fórmula


3D a otras hojas de cálculo que esté combinando porque
no tiene una posición o categoría coherente en la que
basarse.

Consolide por fórmula


En la hoja de cálculo maestra, copie o escriba los rótulos de columna o fila que
desee para los datos de consolidación.
a. Haga clic en la celda en que desea incluir los datos de consolidación.
b. Escriba una fórmula que incluya una referencia de celda a las celdas de
origen de cada hoja de cálculo 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 están en celdas diferentes de
otras hoja de cálculo
d. Escriba una fórmula con referencias de celda a las otras hojas de cálculo,
una por cada hoja de cálculo independiente.
Por ejemplo, para consolidar datos de hojas de cálculo
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 cálculo
maestra, tendría que escribir lo siguiente:

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


fórmula sin escribir, escriba la fórmula hasta el punto en el que necesite
la referencia, haga clic en la etiqueta de la hoja de cálculo y, a
continuación, haga clic en la celda.
f. Si los datos que se van a consolidar están en las mismas celdas de
otras hojas de cálculo

50 SENATI-Computación e Informática
s de datos II

g. Escriba una fórmula con una referencia 3D que utilice una referencia a
un rango de nombres de hojas de cálculo.
Por ejemplo, para consolidar datos en las celdas A2 desde Ventas hasta
Marketing inclusive, en la celda A2 de la hoja de cálculo maestra tendría
que escribir lo siguiente:

Paso a Paso: Consolidación de datos

1. Diseñar las siguientes 4 hojas de cálculo o abrir el archivo “CONSOLIDADO”

SENATI-Computación e Informática 51
Microsoft Office Excel 2007

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 diálogo presentado realizar las siguientes acciones

Elegir la Adicionar estas tres


función Suma referencias y lic en
el botón “Agregar”.

Activar las casillas


de verificación

La casilla de verificación “Crear vínculos con los datos de origen” permiten que
la hoja de totales se actualice, cuando realice cambios en las hojas orígenes.

52 SENATI-Computación e Informática
s de datos II

5. Finalmente hacer clic en el botón , se obtiene el siguiente


resultado. La consolidación del as ventas de las tres sucursales.

Paso a Paso: Consolidación de datos


1. Ingresar la información de acuerdo al diseño sugerido

SENATI-Computación e Informática 53
Microsoft Office Excel 2007

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 numéricos 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 función 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 verificación de Crear Vínculos para que el consolidado
siempre este actualizado así se modifiquen los datos orígenes
8. Para ver el resultado, clic en Aceptar.
9. Observar que ha sucedido y comentar las dudas o sugerencias con el
instructor.

54 SENATI-Computación e Informática
s de datos II

Paso a Paso: Consolidación por fórmula


Podemos resolver el consolidado también de la
siguiente manera; por REFERENCIA 3D.

1. Crear una nueva hoja e ingresar la


información de acuerdo al diseño
sugerido en la Hoja5.
Crear una nueva hoja e ingresar la
información de acuerdo al diseño
sugerido en la Hoja5.
2. Cambiar el nombre de la Hoja5 por
CONS_FORMULAS.
3. Clic en la celda C6 y escribir la
siguiente fórmula:
='BAL2005'!C6+'BAL2006'!C6+'BAL2007'!C6
o
=SUMA('BAL2005:BAL2007'!C6)
4. Luego copiar la fórmula, hasta total de ingresos.

NOTAS
 Al establecer fórmulas los nombres de las hojas se específica entre
comillas y luego un signo de admiración, ejemplo:
 'BAL2005'!C6 hace referencia a la celda C6 de la hoja BAL2005.
 Al establecer fórmulas también puede especificarlas como rango de
hojas, separándolos con dos puntos pero solamente especificando las
comillas simples al inicio y final del rango de hojas, luego un signo de
admiración 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 más 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 método útil y cómodo de hacer
referencia a varias hojas de cálculo que siguen el mismo patrón y a las celdas de cada
hoja de cálculo que contienen el mismo tipo de datos para, por ejemplo, consolidar los
datos presupuestarios de diferentes departamentos de la organización.

SENATI-Computación e Informática 55
Microsoft Office Excel 2007

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

PASOS
1. Crear las hojas BAL5, BAL6 y BAL7 con el diseño sugerido.
2. Crear la hoja CONSOLIDADO con el diseño sugerido.
3. Especificar la fórmula de referencia 3D en la celda C6
4. =SUMA('BAL5:BAL7'!C6)
5. Luego copiar la fórmula y observar que ha sucedido.
NOTAS

Al establecer fórmulas referencias 3D debe especificarlas separándolos con


dos puntos pero solamente especificando las comillas simples al inicio y final
del rango de hojas, luego un signo de admiración que indica que son
nombres de hojas, posteriormente se indica la celda a operar; ejemplo:

56 SENATI-Computación e Informática
s de datos II

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

Función Descripción
SUMA Suma números.
PROMEDIO Calcula el promedio (media aritmética) de números.

PROMEDIOA Calcula el promedio (media aritmética) de números; incluye


valores de texto y lógicos.

CONTAR Cuenta celdas que contienen números.

CONTARA Cuenta las celdas que no están vacías.

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 lógicos.

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 lógicos.

PRODUCTO Multiplica números.

DESVEST Calcula la desviación estándar de una muestra.

DESVESTA Calcula la desviación estándar de una muestra; incluye valores de


texto y lógicos.
DESVESTP Calcula la desviación estándar de una población.

DESVESTPA Calcula la desviación estándar de una población; incluye valores


de texto y lógicos.
VAR Calcula la varianza de una muestra.

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


lógicos.
VARP Calcula la varianza de una población.

VARPA Calcula la varianza de una población; incluye valores de texto y


lógicos.

SENATI-Computación e Informática 57
Microsoft Office Excel 2007

Cuestionarios

1. Si tienen una base de datos con n registros duplicados ubicados en diferentes


lugares, cómo los eliminaría.

2. Si desea ingresar datos en un campo que solo permita de acuerdo a un formato


preestablecido, cómo lo haría.

3. Cuál es la diferencia entre 3D y Consolidación de datos.

4. Cuál es la utilidad del administrador de escenarios.

5. Cuál es la utilidad de buscar objetivo.

58 SENATI-Computación e Informática
Capítulo

Funciones Financieras
En este capítulo trataremos:

 Generalidades sobre Excel en el mundo de


los negocios.
 Uso de funciones financieras
 Desarrollo de proyectos con funciones financieras

SENATI-Computación e Informática 59
Microsoft Office Excel 2007

Generalidades sobre Excel en el mundo de los negocios


Actualmente no hay ejecutivo que no utilice la hoja de cálculo Microsoft Excel, la cual
es una herramienta muy útil para llevar diseñar modelos de cálculo: Administrativos, de
control, contables, financieros, estadísticos, económicos, matemáticos, ingeniería, etc.

Uso de funciones financieras


A continuación se desarrollarán temas financieros con Excel, puntualmente se verán las
siguientes funciones: PAGO, VA, VF, NPER, TASA, TIR
Consideraciones del índice de inflación
La inflación se refiere a un aumento prolongado de todos los precios en la economía, el
cual afecta el nivel general de precios de manera permanente.
Si mañana 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 sería generalizado, ni tampoco tendría carácter de un
proceso prolongado que afecta el nivel general de precios
La tasa de inflación depende mucho del índice de precios que se emplea para calcularla,
así como del período de referencia.
El índice más empleado es el del precio al consumidor, mide el costo de la canasta de
bienes finales que consume la familia promedio
Otra técnica de cálculo es utilizando el índice de precios al por mayor o el deflactor
implícito del PBI.
El deflactor implícito del PBI mide el costo promedio de los bienes de consumo
privado y público, los bienes de inversión y de los bienes que se importan y/o exportan.
Mide el costo en el último mes del año en cuestión

Inflación Peruana utilizando El deflactor implícito del PBI


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

Hiperinflación.
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 año.
Inflación anual de más de 12000%.

60 SENATI-Computación e Informática
Financieras

Si aplicamos la definición de Cagan al caso peruano, tendríamos que la


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

Causas de la inflación
Existen diferentes explicaciones sobre las causas de la inflación. De hecho parece
que existen diversos tipos de procesos económicos diferentes que producen
inflación, y esa es una de las causas por las cuales existen diversas explicaciones:
cada explicación trata de dar cuenta de un proceso generador de inflación
diferente, aunque no existe una teoría unificada que integre todos los procesos. De
hecho se han señalado que existen al menos tres tipos de inflación:

Inflación 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.
Inflación 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.
Inflación autoconstruida (Build-in inflation), ligada al hecho de que los
agentes prevén aumentos futuros de precios y ajustan su conducta actual a
esa previsión futura.

Como se mide
Índice de precios al consumidor (IPC): diseñado para registrar las variaciones en
el poder adquisitivo del promedio de la población (sobre la base de una canasta de
productos de consumo representativa).

Índice Laspeyres (ponderado en el año base)

Índice Paasche (ponderado en el año corriente)

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

SENATI-Computación e Informática 61
Microsoft Office Excel 2007

IPC: ¿índice Laspeyres o Paasche?

Extraído del documento publicado por el profesor: Juan F. Castro del Departamento de
Economía de la Universidad del Pacífico

Tasa nominal
Conocida también como tanto por uno o simplemente como tasa de interés, es la
ganancia que genera un capital de $1 en un año; o sea, es igual a la centésima
parte de la razón o tanto por ciento (ganancia producida por un capital de $100 en
un año).

Generalizando, cuando el tiempo “n” y el período en que está expresada la tasa “i”
coinciden con la capitalización, 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 capitalización y tasa nominal mensual,
calcular la tasa efectiva.

62 SENATI-Computación e Informática
Financieras

Tasa efectiva (i’)


Es el tanto por uno que, aplicado a un capital C en n períodos, produce un monto
M2 igual al que se obtiene utilizando la tasa proporcional m veces en cada uno de
los n períodos con capitalización subperiódica.
Aparece en la fórmula de monto M2 = C (1 + i’) n, de modo que M2 = M3.
Partiendo de esta última igualdad, podemos expresar la tasa efectiva en función 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. Diseñar el siguiente cuadro

SENATI-Computación e Informática 63
Microsoft Office Excel 2007

Paso a Paso: Conversión 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

Préstamo de un banco: Función PAGO


La función PAGO devuelve el importe de la renta constante vencida o anticipada
en una anualidad simple, en función de su valor presente o futuro
Sintaxis
PAGO(tasa;nper;va;vf;tipo)

Argumentos
Tasa. Es el tipo de interés del préstamo.
Nper. Es el número total de pagos del préstamo. 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, también se conoce como el principal.

64 SENATI-Computación e Informática
Financieras

Vf. Es el valor futuro o un saldo en efectivo que desea lograr después 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 préstamo es 0).
Si utiliza el argumento opcional Vf sin considerar valor alguno en el
argumento obligatorio Va, la función PAGO obtiene la renta constante en
función de ese valor futuro que nos permite constituir un fondo de
amortización cuyo monto es el importe de Vf.

Si utiliza conjuntamente el argumento obligatorio Va y el argumento


opcional Vf la función 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 número 0 (cero) ó 1. Indica el vencimiento de los pagos.


Defina tipo como Si los pagos vencen
0 u omitido Al final del período (Rentas vencidas)
1 Al inicio del período (Rentas anticipadas)

Fórmulas financieras

Renta En función de P En función de S

Vencida

Anticipada

Paso a Paso: Préstamo de banco (Amortización)


1. Utilizar la función pago para desarrollar una tabla de amortización de un
préstamo utilizando el método francés (Pago de cuotas iguales). Usar la
función PAGO.
2. Desarrollaremos el siguiente caso: Se tiene un préstamo de $50,000. Por el
cual se cobrará una tasa de 30% anual. Durante 12 años. Se pide calcular la
cuota constante que debe pagar para cancelar el préstamo.

Tasa 30%

Va=50,000 Pago? Pago? Pago? Pago? nper=12

SENATI-Computación e Informática 65
Microsoft Office Excel 2007

3. Diseñar el siguiente cuadro

Se considera como
negativo por ser un
desembolso

4. Se debe obtener como resultado el siguiente cuadro

66 SENATI-Computación e Informática
Financieras

Paso a Paso: Costo equivalente


1. Cuál es el costo equivalente anual de una máquina cuyo precio es de $50,000
su vida útil está estimada en 5 años, su valor de salvamento al final de la vida
útil es de $ 10,000. La tasa de interés es de 12%.

Vf = 10,000
Tasa 12%

Va=50,000 Pago? Pago? Pago? Pago? nper=5

2. Diseñar el siguiente cuadro.

Paso a Paso: Préstamo de banco (Amortización)


1. Se tiene un préstamo de $ 10000 el cual debe cancelarse en el plazo de un año
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 amortización
2. Diseñar el siguiente cuadro

3. El resultado queda como se muestra en la siguiente hoja de cálculo

SENATI-Computación e Informática 67
Microsoft Office Excel 2007

Valor presente de la inversión/pagos futuros: Función VA


Uno de los indicadores más importantes y utilizados en la evaluación de
inversiones es el Valor Actual VA.
La función VA devuelve el valor actual de una inversión. El valor actual es el
valor que tiene actualmente la suma de una serie de pagos que se efectuarán en el
futuro. Por ejemplo, cuando toma dinero prestado, la cantidad del préstamo es el
valor actual para el prestamista.

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

Argumentos
Tasa
Es la tasa de interés por período. Por ejemplo, si obtiene un préstamo
para una motocicleta con una tasa de interés anual del 10% y efectúa
pagos mensuales, la tasa de interés mensual será del 10%/12 ó 0,83%. En
la fórmula escribiría 10%/12, 0,83% ó 0,0083 como tasa.
Nper
Es el número total de períodos en una anualidad. Por ejemplo, si obtiene
un préstamo a cuatro años para comprar un automóvil y efectúa pagos
mensuales, el préstamo tendrá 4*12 (ó 48) períodos. La fórmula tendrá
48 como argumento nper.
Pago
Es el pago que se efectúa en cada período y que no cambia durante la
vida de la anualidad. Por lo general, el argumento pago incluye el capital
y el interés pero no incluye ningún otro cargo o impuesto. Por ejemplo,
los pagos mensuales sobre un préstamo de $10.000 a cuatro años con una

68 SENATI-Computación e Informática
Financieras

tasa de interés del 12% para la compra de una motocicleta, son de


$263,33. En la fórmula escribiría -263,33 como el argumento pago.

Vf
Es el valor futuro o el saldo en efectivo que desea lograr después 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 préstamo es 0). Si desea
ahorrar $50.000 para pagar un proyecto especial en 18 años, $50.000
sería el valor futuro. De esta forma, es posible hacer una estimación
conservadora a cierta tasa de interés y determinar la cantidad que deberá
ahorrar cada mes.

Tipo
Es el número 0 ó 1 e indica el vencimiento de los pagos.
Defina tipo como Si los pagos vencen
0 u omitido Al final del período (Rentas vencidas)
1 Al inicio del período (Rentas anticipadas)

Fórmulas 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 años, si la
tasa de interés es de 5% efectivo anual.

1000 1000 1000 1000 1000 1000


0 1 2 …. 8 9 10
P=?

SENATI-Computación e Informática 69
Microsoft Office Excel 2007

2. Diseñar el siguiente cuadro

3. El resultado queda como se muestra en la siguiente hoja de cálculo

Valor futuro de la inversión: Función VF


Devuelve el valor futuro de una inversión basándose en pagos periódicos
constantes y en una tasa de interés constante.

70 SENATI-Computación e Informática
Financieras

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

Argumentos
Tasa
Es la tasa de interés por período. Por ejemplo, si obtiene un préstamo
para una motocicleta con una tasa de interés anual del 10% y efectúa
pagos mensuales, la tasa de interés mensual será del 10%/12 ó 0,83%. En
la fórmula escribiría 10%/12, 0,83% ó 0,0083 como tasa.
Nper
Es el número total de períodos en una anualidad. Por ejemplo, si obtiene
un préstamo a cuatro años para comprar un automóvil y efectúa pagos
mensuales, el préstamo tendrá 4*12 (ó 48) períodos. La fórmula tendrá
48 como argumento nper.
Pago
Es el pago que se efectúa en cada período y que no cambia durante la
vida de la anualidad. Por lo general, el argumento pago incluye el capital
y el interés pero no incluye ningún otro cargo o impuesto. Por ejemplo,
los pagos mensuales sobre un préstamo de $10.000 a cuatro años con una
tasa de interés del 12% para la compra de una motocicleta, son de
$263,33. En la fórmula escribiría -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 número 0 ó 1 e indica el vencimiento de los pagos.
Defina tipo como Si los pagos vencen
0 u omitido Al final del período (Rentas vencidas)
1 Al inicio del período (Rentas anticipadas)

Paso a Paso: Calcular VF


1. Se quiere ahorrar un dinero para un proyecto especial que tendrá lugar dentro de un
año a partir de la fecha de hoy, para lo cual se cuenta con los siguientes datos:
- Depositaremos $15000 en una cuenta de ahorros que devenga un interés
anual de 6%, que se capitaliza mensualmente (interés mensual de
6%/12 ósea 0.5%)

SENATI-Computación e Informática 71
Microsoft Office Excel 2007

- Se depositará $1500 el primer día de cada mes durante los próximos 12


meses
2. Cuánto dinero tendrá en su cuenta al final de los 12 meses
3. Diseñar la siguiente hoja de cálculo

4. El resultado queda como se muestra en la siguiente hoja de cálculo

72 SENATI-Computación e Informática
Financieras

Número de pagos de inversión: Nper


Devuelve el número de rentas constantes vencidas o anticipadas, que forman una
anualidad simple, en función de un stock de efectivo: inicial o final, en la que la
tasa de interés efectiva no varía durante el plazo de la operación.
Nper en función del valor actual calcula el número de rentas con las que puede
amortizarse totalmente un préstamo
Nper en función del valor futuro calcula el número de rentas con las que se puede
constituir un fondo de amortización

Paso a Paso: Nper en función del valor presente, con renta constante
vencida
1. Nper en función del valor presente puede calcularse conociendo el importe de
la renta constante vencida, o de la renta constante anticipada, que amortiza el
préstamo.
2. Con cuántas cuotas trimestrales vencidas, pueden cancelarse un préstamo de
$ 9,000 el mismo que devenga una tasa efectiva trimestral del 5% y se
amortizará con pagos uniformes de $ 2500 cada 90 días.

Va=9000
Nper=?
Tasa=5% tasa=5% tasa5%
pago= -2500 pago= -2500 pago= -2500

3. Diseñar la siguiente hoja

SENATI-Computación e Informática 73
Microsoft Office Excel 2007

Paso a Paso: Nper en función del valor presente, con renta constante
anticipada
1. Nper en función del valor presente puede calcularse conociendo el importe de
la renta constante vencida, o de la renta constante anticipada, que amortiza el
préstamo.
2. Con cuántas cuotas trimestrales anticipadas, pueden cancelarse un préstamo
de $ 9,000 el mismo que devenga una tasa efectiva trimestral del 5% y se
amortizará con pagos uniformes de $ 2500 cada 90 días.

Va=9500
Nper=?
Tasa=5% tasa=5% tasa5%
pago= -2500 pago= -2500 pago= -2500

3. Diseñar la siguiente hoja

Paso a Paso: Nper en función del valor futuro


1. Nper en función del valor futuro puede calcularse conociendo el importe de la
renta constante vencida o de renta constante anticipada, que acumula un
fondo de amortización.
2. Cuántos depósitos mensuales vencidos de $500, serán necesarios ahorrar en
un banco que paga una tasa del 24% con capitalización mensual, para
acumular un monto de $ 5474.86

74 SENATI-Computación e Informática
Financieras

Va=9500
Nper=?
Tasa=5% tasa=5% tasa5%
pago= -2500 pago= -2500 pago= -2500

3. Diseñar la siguiente hoja

Función TASA
Devuelve la tasa de interés por período de una anualidad. TASA se calcula por
iteración y puede tener cero o más soluciones. Si los resultados consecutivos de
TASA no convergen en 0,0000001 después de 20 iteraciones, TASA devuelve el
valor de error #¡NUM!

Sintaxis: TASA(nper; pago; va; vf; tipo; estimar)

Argumentos
Nper
Es el número total de períodos de pago en una anualidad.
Pago
Es el pago que se efectúa en cada período y que no puede cambiar
durante la vida de la anualidad. Generalmente el argumento pago incluye
el capital y el interés, pero no incluye ningún 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 después 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 préstamo es 0).

SENATI-Computación e Informática 75
Microsoft Office Excel 2007

Tipo
Es el número 0 ó 1 e indica el vencimiento de los pagos.
Defina tipo como Si los pagos vencen
0 u omitido Al final del período (Rentas vencidas)
1 Al inicio del período (Rentas anticipadas)

Estimar
Es la estimación de la tasa de interés.
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 función Tasa


1. Calcular la tasa de un préstamo de $8000 a cuatro años con pagos mensuales de $200

Tasa interna de retorno (TIR)


Devuelve la tasa interna de retorno de una inversión, sin costos de financiación o
las ganancias por reinversión representadas por los números 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 interés producida por un
proyecto de inversión con pagos (valores negativos) e ingresos (valores positivos)
que ocurren en períodos regulares.

Sintaxis
TIR(valores; estimar)

76 SENATI-Computación e Informática
Financieras

Argumentos
Valores
Es una matriz o referencia a celdas que contengan los números 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. Asegúrese de introducir los valores de los pagos e
ingresos en el orden correcto.
Si un argumento matricial o de referencia contiene texto, valores lógicos
o celdas vacías, esos valores se ignoran.

Estimar
El un número que el usuario estima que se aproximará al resultado de
TIR.
Microsoft Excel utiliza una técnica iterativa para el cálculo de TIR.
Comenzando con el argumento estimar, TIR reitera el cálculo hasta que
el resultado obtenido tenga una exactitud de 0,00001%. Si TIR no llega a
un resultado después de 20 intentos, devuelve el valor de error #¡NUM!
En la mayoría de los casos no necesita proporcionar el argumento estimar
para el cálculo 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 estimación, 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 inversión
inicial es de $70.000, esperándose el siguiente ingreso neto para los primeros
cinco años: $12.000; $15.000; $18.000; $21.000 y $26.000.
2. Calcular la tasa interna de retorno de su inversión después de 2, 3, 4 y 5 años.

SENATI-Computación e Informática 77
Microsoft Office Excel 2007

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á dueño del activo
- El arrendamiento financiero, si le hará dueño 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 Usuario
del activo 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
llevándole la información
- La sociedad de Leasing, compra el activo y se lo alquila al cliente
usuario

Algunas diferencias entre comprar y alquilar

El préstamo (COMPRAR) El Leasing (ALQUILAR)

No financia el 100% de la inversión Si financia el 100% de la inversión

El estudio del préstamo demora varios La maquinaria se dispone a las 24


meses horas

78 SENATI-Computación e Informática
Financieras

El empresario es dueño del activo El empresario podría ser dueño, 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 más barato podríamos saber que es más 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 préstamo,
dependerá de los flujos de fondos derivados de cada uno de ambos métodos, y del
costo de oportunidad de los fondos, después de impuestos” (Van Horne).

Evaluación por ingresos netos


Permite ver panorámicamente 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 préstamo,
tampoco afecta el activo del balance, el empresario no es dueño del bien
- Con préstamo, usted es propietario y puede depreciar
- Con leasing, no puede depreciar. El propietario es el financiador
- Con préstamo, los intereses van antes de impuestos y, las amortizaciones
después de impuestos
- Con leasing, hay una sola cuota que íntegramente va a costos, antes de
impuestos

Paso a Paso: Evaluación por ingresos netos


1. Se quiere adquirir una máquina que cuesta $5000 y tiene una vida útil de 2 años.
Tasa para leasing 18 %, tasa para préstamo 25%
2. Alternativa con leasing

SENATI-Computación e Informática 79
Microsoft Office Excel 2007

3. Alternativa con préstamo

Interés = Tasa*Saldo actual


Saldo = saldo ant. – Amort. =F10*$F$4
=F10-H10
Amort = Cuota - interés
=I10-G10

=$F$6

4. Desarrollando el flujo de fondos

80 SENATI-Computación e Informática
Financieras

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

Evaluación por costos netos


Consta de tres pasos.
- Preparar el flujo de pagos con Leasing, después de impuestos
- Preparar el flujo de pagos con préstamos, después de impuestos
- Hallar el valor presente de ambos flujos, al costo del capital después
de impuestos y, elegir la alternativa de menor costo

Paso a Paso: Evaluación por costos netos


1. Se quiere adquirir una máquina que cuesta $5000 y tiene una vida útil de 2 años.
Tasa para leasing 18 %, tasa para préstamo 25%
Tasa de evaluación para calcular el valor presente 10%.

SENATI-Computación e Informática 81
Microsoft Office Excel 2007

Calcular la tasa interna de devolución para un flujo de liquidez no


periódico
Función TIR.NO.PER
Devuelve la TIR de un proyecto cuyos flujos de caja netos son de diferentes
magnitudes, están 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 inversión.
Si el primer valor es un costo o un pago, debe ser un valor negativo.
Todos los pagos sucesivos se descuentan basándose en un año de 365
días. 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
función FECHA o como resultado de otras fórmulas 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 número que el usuario estima que se aproximará al resultado de
TIR.NO.PER.

82 SENATI-Computación e Informática
Microsoft Office Excel 2007

Tasa_reinversión
Es la tasa de interés obtenida por los flujos de caja a medida que se
reinvierten.
Si n es el número de flujos de caja en valores, tasaf es la
tasa_financiamiento y tasar es la tasa_reinversión, la fórmula de TIRM
es:

Paso a Paso: TIRM


Un proyecto cuya inversión inicial es de 120,000, y se tiene flujos de 39000, 30000,
21000, 37000, 46000 cada año.
La tasa de interés del préstamo es de 10%
La tasa de interés anual de los beneficios reinvertidos es de 12%
Calcular TIRM

SENATI-Computación e Informática 83
Financieras

Cuestionarios

1. Cuál es la diferencia entre un interés simple y un interés compuesto.

2. Cuál es la diferencia entre valor presente y valor futuro.

3. Para que sirve la función TIR.

4. Cuál es la diferencia entre activo y pasivo.

5. Qué es un Leasing.

84 SENATI-Computación e Informática
Capítulo

Análisis de Datos II
En este capítulo trataremos:

 Herramientas de análisis estadístico


 Uso de cuadros de histogramas
 Uso de Solver

SENATI-Computación e Informática 85
s de datos III

Herramientas de Análisis Estadístico


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

Tendencia lineal de ajuste perfecto automáticamente


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 continuación, a cada uno de los valores
siguientes.

Paso a Paso: Tendencia lineal de ajuste perfecto


1. La empresa “Productos Agrícolas SAC” desea proyectar sus ventas del último
semestre del año, para ello nos presenta la información de ventas de los seis
primeros meses.

2. Utilizaremos el procedimiento para proyectar la tendencia lineal

a. Seleccionar el bloque de
celdas A4:B9

c. Del menú
contextual
presentado
elegir La
opción
“Tendencia
b. Señalar con su mouse lineal”
este cuadradito y
arrastrar con el botón
derecho del mouse
hasta la fila 15, luego
soltar el mouse

SENATI-Computación e Informática 87
Microsoft Office Excel 2007

3. Se debe mostrar como resultado el siguiente cuadro

Ventas del
primer
semestre

Ventas
proyectadas con
tendencia lineal
automática, para el
último semestre

Tendencia geométrica de forma automática


En una serie geométrica, 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 continuación por el incremento.

Paso a Paso: Tendencia geométrica de forma automática


1. Utilizando el cuadro anterior, pero esta vez proyectar con tendencia geométrica.

b. Seleccionar el bloque
de celdas B4:B9

c. Del menú
contextual
presentado
elegir La
opción
b. Arrastrar con el
“Tendencia
botón derecho del
geométrica”
mouse hasta la
fila 15, luego
soltar el mouse

88 SENATI-Computación e Informática
s de datos III

2. Se presentará como resultado el siguiente cuadro

Ventas del
primer
semestre

Ventas proyectadas
con tendencia
geométrica, para el
último semestre

Tendencia lineal o geométrica 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 geométrica, 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 geométrica de forma manual


1. Diseñar el siguiente cuadro
a. Arrastre este recuadro
pequeño con el botón
derecho del mouse, hasta
la celda B9. Y suelte el
mouse

b. Hacer clic sobre la opción


Series…

SENATI-Computación e Informática 89
Microsoft Office Excel 2007

2. Se presenta el siguiente cuadro de diálogo.


Seleccione tipo
de tendencia:
Elegir Lineal o
columna, geométrica
para que la
serie se
extienda
hacia abajo
Active la casilla
Tendencia

3. Hacer clic en el botón para terminar

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

Agregar una línea de tendencia a un gráfico


Las líneas de tendencia se utilizan para el estudio de problemas de predicción, lo
que se denomina también análisis de regresión. En un gráfico si tiene los datos de
ventas de los primeros meses del año, puede agregar una línea de tendencia al
gráfico que muestre la tendencia general de las ventas (creciente, decreciente o
uniforme) o que muestre la tendencia prevista para los meses venideros.

Media móvil.
Se puede crear una media móvil, que suaviza las fluctuaciones en los datos y
muestra la trama o tendencia con más claridad.
Tipos de gráfico que admiten líneas de tendencias
Pueden agregarse líneas de tendencia a las series de datos en los siguientes
gráficos:

90 SENATI-Computación e Informática
s de datos III

• Áreas 2D no apiladas
• Barras
• Columnas
• Líneas
• Cotizaciones
• Tipo XY (Dispersión), y
• Burbujas.
No pueden agregarse líneas de tendencia a las series de datos en los gráficos 3D,
radiales, circulares, de superficie o de anillos.
Si se cambia un gráfico o una serie de datos de modo que ya no permita la línea de
tendencia asociada (por ejemplo, si se cambia el tipo de gráfico por un gráfico de
áreas 3D o si se cambia la vista de un informe de gráfico dinámico o de un
informe de tabla dinámica asociado), se perderán las líneas de tendencia.

Paso a Paso: Agregar línea de tendencia a un gráfico


1. Diseñar el siguiente cuadro

a. Hacer clic en botón


2. Seleccionar el bloque de de celdas A2:B7

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

d. Elegir este
tipo de
gráfico

SENATI-Computación e Informática 91
Microsoft Office Excel 2007

3. Se muestra el siguiente gráfico


Tasa de inflación Perú
4
3
2
1
0
2003 2004 2005 2006 2007

4. Para agregar la línea de tendencia, realice las siguientes operaciones


a. Hacer un clic sobre el gráfico para seleccionarlo.

b. Hacer clic sobre la ficha presentación

c. Hacer clic sobre el botón , ,


Mas opciones de línea de tendencia
d. Se presenta el siguiente cuadro de diálogo

e. Elegir Lineal

f. Activar la casilla
“Presentar ecuación
en el gráfico”

92 SENATI-Computación e Informática
s de datos III

5. Se muestra el siguiente gráfico


4

2
y = -0.27x + 3.09
0
2003 2004 2005 2006 2007

Tasa de inflación Perú Lineal (Tasa de inflación Perú)

Si se reemplaza “x” en la ecuación por


el número del año siguiente se
obtienen los pronósticos de la
inflación de los próximos años (2008,
2009, etc.)

Proyectar valores
Función PRONÓSTICO
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 regresión lineal. Esta
función 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 ecuación de la función pronóstico es a + bx, donde:

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

SENATI-Computación e Informática 93
Microsoft Office Excel 2007

Paso a Paso: Uso de la función Pronóstico


1. Diseñar el siguiente cuadro

94 SENATI-Computación e Informática
s de datos III

Función TENDENCIA
Devuelve valores que resultan de una tendencia lineal. Ajusta una recta (calculada
con el método de mínimos 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
relación y = mx+b.
Conocido_x Es un conjunto opcional de valores x que se conocen en la
relación 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 función Tendencia


1. Diseñar el siguiente cuadro

SENATI-Computación e Informática 95
Microsoft Office Excel 2007

Uso de cuadros de Histogramas para el cálculo de frecuencias


individuales y acumulativas
El gráfico de la distribución de frecuencias, se llama histograma.
El histograma de frecuencias es una representación visual de los datos en donde se
evidencian fundamentalmente tres características: forma, acumulación o tendencia
posicional y dispersión o variabilidad.
El histograma (de frecuencias) en si es una sucesión de rectángulos construidos
sobre un sistema de coordenadas de la siguiente manera:
1. Las bases de los rectángulos se localizan en el eje horizontal.
La longitud de la base es igual al ancho del intervalo.
2. Las alturas de los rectángulos se registran sobre el eje vertical y
corresponden a las frecuencias de los intervalos.
3. Las áreas de los rectángulos 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 gráficos de barras las características 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 distribución.
3. Un histograma revela la cantidad de variación 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.
Números de clase. Estos números representan los intervalos que desea
que utilice la herramienta Histograma para medir
los datos de entrada en el análisis de datos.

Paso a Paso: Construcción de un histograma


1. Diseñar el siguiente cuadro

96 SENATI-Computación e Informática
s de datos III

2. Hacer clic en la ficha , , se presenta el siguiente


cuadro de diálogo.

3. Hacer clic sobre la opción “Histograma”


4. Hacer clic en el botón Aceptar. Se presenta el siguiente cuadro de diálogo.

Seleccionar rango de
entrada y rango de
clase según se muestra
en la gráfica.

Como opciones de salida


hacer clic en la opción
“En una hoja nueva”.

Hacer clic en
“Crear gráfico”.

SENATI-Computación e Informática 97
Microsoft Office Excel 2007

5. Hacer clic en el botón , se agregará una nueva hoja con el cuadro de


clases, frecuencias y la gráfica del histograma.

Interpretación de un Histograma
Se trata de identificar y clasificar la pauta de variación del conjunto de datos
estudiado, que relacione la variación con el proceso o fenómeno en estudio.
El resultado de este análisis es una teoría sobre el funcionamiento del proceso o
sobre la causa del problema que se está investigando. A continuación se presentan
pautas de variación típicas:
a. Distribución en forma de campana
Es la distribución normal. La desviación 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. Distribución con doble campana o con doble pico


Representa generalmente la combinación de dos distribuciones y
sugiere la presencia de dos procesos distintos.

Programa N
s de datos III

c. Distribución plana
Representa un caso típico 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. Distribución en peine
Esta pauta de variación es típica de errores de medición, errores en la
forma de agrupar los datos o sesgos sistemáticos de redondeo.
Debe revisar los procesos de recogida de datos y construcción del
Histograma.

Valores altos y bajos se


alternan de forma regular

e. Distribución con un pico aislado


El proceso con el pico pequeño 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 eliminación de elementos defectuosos.

Esta forma sugiere la


existencia de dos
procesos distintos

SENATI-Computación e Informática 99
Microsoft Office Excel 2007

f. Distribución con un pico en el extremo


Esta forma se presenta cuando la cola de una distribución regular se ha
cortado y acumulado en una sola categoría 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 distribución regular

g. Distribución sesgada o truncada


Esta distribución es típica de procesos con límites prácticos a un lado del
valor nominal o a datos parciales de un proceso (distribuciones con parte de
los datos suprimidos).
Distribución sesgada Distribución truncada
Descendencia suave de la
Pico descentrado cola.

Descendencia
brusca de la cola

Posibles problemas y deficiencias de interpretación


a. Si los datos utilizados no son adecuados (sesgados, inexactos,
anticuados, poco significativos, etc) las conclusiones no reflejarán la
situación real.
b. Muestra pequeña y poco representativa. Se requiere mínimo cuarenta
observaciones para cada uno de los Histogramas que se desee realizar.
c. Aceptar las conclusiones del análisis como hechos.
La interpretación de un Histograma es una simple teoría y por tanto deberá ser
confirmada posteriormente mediante el análisis adicional y la observación de los
hechos reales.

100 SENATI-Computación e Informática


s de datos III

Definición y resolución de problemas con Solver


Solver se utiliza cuando queremos encontrar la mejor manera de hacer algo. O dicho de
un modo más formal: queremos encontrar los valores de determinadas celdas de una
hoja de cálculo que optimicen (aumenten o disminuyan) un determinado objetivo.
Generalidades sobre Solver
Un modelo de optimización 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 cálculo 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 más recursos que los disponibles y no producir
más cantidad de un producto que la que pueda venderse.
Carga del programa de complemento Solver

1. Hacer clic en el Botón Microsoft Office ,

2. Hacer clic en la opción


3. En el cuadro de diálogo “Administrar”, hacer clic en la opción
“Complementos de Excel” y luego hacer clic en el botón “Ir”.
4. En el cuadro de diálogo Complementos disponibles, active la casilla de
verificación “Complemento Solver”

Hacer clic para carga el


complemento “Solver”

SENATI-Computación e Informática 101


Microsoft Office Excel 2007

5. Para terminar hacer clic en el botón

Paso a Paso: Desarrollo de casos utilizando Solver


1. La empresa “Comida a su puerta” basado en la experiencia del año anterior
sabe que por cada sol gastado en publicidad ingresa aproximadamente como
promedio 8.75 soles en pedidos. El negocio está sujeto a variaciones
estaciónales muy acentuadas. Este año 2009 se tiene proyectado unos pedidos de
300,000 nuevos soles la pregunta es cuanto se debe invertir en publicidad.
2. Diseñar el siguiente cuadro se considera 20,000 en inversión 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 botón


4. Se presenta el cuadro de diálogo parámetros 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 botón para hallar una solución

102 SENATI-Computación e Informática


s de datos III

Hacer clic para


guardar este
escenario

6. Hacer clic en el botón para almacenar esta solución

7. Para terminar haga clic en el botón . Se presenta la siguiente


solución.

Paso a Paso: Agregar restricciones a Solver


1. Del ejemplo anterior busque una solución que mantenga el presupuesto
publicitario total por debajo de 25,000.

2. Hacer clic en la ficha

Luego hacer clic en el botón


3. Se presenta el cuadro de diálogo parámetros de Solver

4. Hacer clic en el botón .


5. Defina la siguiente restricción. Presupuesto de publicidad <= 25,000

SENATI-Computación e Informática 103


Microsoft Office Excel 2007

6. Haga clic en el botón . Su cuadro de diálogo debe quedar así.

7. Haga clic en el botón , . Para mostrar la nueva


solución con la restricción especificada

Cómo configura Solver

1. Hacer clic en la ficha

Luego hacer clic en el botón


2. Del cuadro de diálogo presentado

Hacer clic en el botón

104 SENATI-Computación e Informática


s de datos III

Se aplica sólo a los Porcentaje donde la celda Tiempo Tiempo Debe indicarse la precisión mediante
problemas no objetivo da una solución que tarda que tarda una fracción entre 0 (cero) y 1. Cuantas
lineales. Se indica satisface las restricciones el proceso el más posiciones decimales tenga el
mediante una externas. Una tolerancia de proceso número que se escriba, mayor será la
fracción entre 0 y 1. mayor tiende a acelerar el solución. de precisión; por ejemplo, 0,0001 indica
Cuantos más proceso de solución. solución. una precisión mayor que 0,01.
decimales tenga el
número, menor
será la
convergencia

Para resolver un
problema de
optimización lineal.

Hace que Solver


presuponga un
límite de 0 (cero) Utilizar la escala
para todas las automática cuando
celdas ajustables haya grandes
en las que no se diferencias de
haya establecido un magnitud entre las
límite inferior en el entradas y los
cuadro Restricción resultados

Utiliza la extrapolación
lineal de un vector Newton Utiliza un método
tangente. quasi-Newton que
normalmente necesita más
Utiliza la extrapolación memoria pero menos
cuadrática, que puede iteraciones que el método
mejorar en gran medida los de gradiente conjugada.
resultados de problemas no
lineales Progresiva Se utilizan para la mayor parte
Conjugado Necesita menos memoria que
de los problemas, en los que los valores de
restricción cambian relativamente poco. el método Newton, pero normalmente
necesita más iteraciones para alcanzar un
Central Se utiliza en los problemas en que nivel de exactitud concreto
las restricciones cambian rápidamente, en
especial cerca de los límites.

3. En este cuadro de diálogo puede especificar sus opciones de cálculo.

Modificación de forma de búsqueda de soluciones en Solver

1. Hacer clic en la ficha

Luego hacer clic en el botón


2. Del cuadro de diálogo presentado

Hacer clic en el botón

SENATI-Computación e Informática 105


Microsoft Office Excel 2007

Cambie las opciones


de Estimación,
Derivadas y Buscar
para optimizar su
modelo

Desarrollo de casos tipo utilizando Solver


1. Diseñar el siguiente cuadro

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


público (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


Grupo de que mostrará el valor en
celdas pedidos que se desea alcanzar
cambiantes

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

106 SENATI-Computación e Informática


s de datos III

3. Hacer clic en la ficha , luego hacer clic en el botón

4. Haga clic en el botón para hallar una solución

5. Para terminar haga clic en el botón Se presenta la siguiente


primera solución sin aplicar restricciones.

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 botón


8. Se presenta el cuadro de diálogo parámetros de Solver

9. Hacer clic en el botón se presenta el cuadro de diálogo


parámetros de Solver.

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 botón para hallar una solución

SENATI-Computación e Informática 107


Microsoft Office Excel 2007

9. Para terminar haga clic en el botón Se presenta la siguiente


solución esta vez incluye las restricciones.

Cuestionarios

1. Cuál es la utilidad de las herramientas de análisis estadísticos.

2. Cuál es la diferencia entre tendencia lineal y geométrica.

3. Cuál es la utilidad de un Histograma.

4. En que aplicaría Solver.

5. Cuál es la diferencia de las funciones Pronóstico y Tendencia.

108 SENATI-Computación e Informática


Capítulo

Formularios
En este capítulo trataremos:

 Activación de la ficha PROGRAMADOR


 Diseño de formularios
 Desarrollo de ejemplos tipo con formularios

SENATI-Computación e Informática 109


Microsoft Office Excel 2007

Activación 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. También puede utilizarlo para el diseño de formularios.

Paso a Paso: Activar la ficha programador

1. Hacer clic en el botón Botón Office

2. Hacer clic en el botón ,se


presenta el cuadro de diálogo “Opciones de Excel”.
3. Hacer clic en la opción
4. Se presenta el cuadro de diálogo de opciones más
frecuentes.

Activar la casilla
“Mostrar ficha
Programador en la
cinta de opciones”.

5. Hacer clic en el botón para terminar.

110 SENATI-Computación e Informática


Formularios

Diseño de formularios
Un formulario es una hoja de cálculo con un formato y diseño ya establecido. Puede
contener fórmulas, funciones e incluso controles (una lista, botones de opción, casillas
de verificación). Gracias a un formulario limitamos el ingreso y manipulación 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 presentación de nuestra
solución, interfaz que debe ser mucho más elaborada, más limpia, sin los
elementos propios de una hoja de cálculo, como las líneas de división 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 más sencilla y simple. Los
elementos que se ocultaran son: Líneas de división, Encabezados de fila y
Columna y Etiquetas de hojas.

Encabezado
de columna

Encabezado
de fila Líneas de
división

Etiquetas de
hojas

Paso a Paso: Modificar el diseño de la hoja

1. Hacer clic en la ficha

2. Hacer clic en el botón se muestra el siguiente cuadro de diálogo

SENATI-Computación e Informática 111


Microsoft Office Excel 2007

Hacer clic para


ocultar: Líneas de
cuadrícula, Títulos

3. Hacer clic con el botón derecho de la hoja que desea ocultar, luego hacer clic en
el botón “Ocultar”.

Trabajando con Controles


Los controles nos permiten interactuar con nuestra ventana en forma más
intuitiva, a través de listas, botones de opción y botones de comando, tal como si
fueran cuadros de diálogos de Windows.

Controles de Formularios
CONTROL NOMBRES DETALLES
Botón Permite ejecutar una macro.
Macros automatiza procesos repetitivos.
Etiqueta Sirve para agregar rótulos al formulario.
Campo de texto Sirve para agregar datos al formulario.
Cuadro de grupo Para agrupar controles como casillas y
botones de opción.
Casillas de verificación Podrá elegir una, varias o ninguna de las
opciones.
Botón de opción Sólo podrá elegir una de un grupo de
opciones.
Control de número Para cambiar el valor de una celda
Cuadro combinado Muestra una lista de opciones.

112 SENATI-Computación e Informática


Formularios

Cuadro de lista Muestra una lista de opciones


desplegables.
Barra de Permite es desplazamiento por un objeto.
desplazamiento

Uso de los controles de formulario


Los controles tienen la función 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 continuación describiremos los controles más importantes
a utilizarse en Excel.

Paso a Paso: Uso del control casilla de verificación


1. Crear una casilla de verificación 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 verificación mostrará el valor de
cero o vacío.

2. Hacer en la ficha , botón


3. Hacer clic en el control casilla de verificación
4. Clic en cualquier celda de la hoja de cálculo
5. Diseñar el control en la pantalla y vincularlo, es necesario la vinculación de los
controles de formularios con una celda, dado que posteriormente por la celda
vinculante aplicaremos lógica para solucionar el problema.

6. Hacer clic derecho sobre este control y elegir la opción

Hacer clic para activar el control


Escribir $E$3 para vincular este
control con la celda en mención

SENATI-Computación e Informática 113


Microsoft Office Excel 2007

Las casillas verificación devuelven como resultado en la celda vinculante


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

=SI(E2=VERDADERO;20;0)
También puede hacerlo de la siguiente manera
=SI(E2;20;0)
Dado que el sistema asume por defecto en la condición lógica la
expresión VERDADERO.
8. Ahora recomendamos activar y desactivar la casilla de verificación y observar
que sucede.

Paso a Paso: Uso del control botón de opción


1. Crear tres botones de opción que permitan mostrar el Precio a pagar entre tres
diferentes equipos de Cómputo.
HP Core 2, RAM 4 Mb, HD 250 GB $ 1,000.00
Dell Dual Core, RAM 4 Mb, HD 250 GB $ 900.00
IBM Core Quad, RAM 8 Mb, HD 250 GB $ 1,300.00

2. Hacer en la ficha , botón


3. Hacer clic en el control botón de opción
4. Diseñar la siguiente pantalla

5. Hacer clic derecho sobre el primer botón de opción y elegir la opción

114 SENATI-Computación e Informática


Formularios

Hacer clic para activar el control


Escribir $F$2 para vincular este
control con la celda en mención

6. Repetir este procedimiento para los otros dos controles.


7. Los botones de opción devuelven como resultado en la celda vinculante:
1 = Si se eligió la primera opción, Computadora HP
2 = Si se eligió la primera opción, Computadora DELL
3 = Si se eligió la primera opción, Computadora IBM
8. Para resolver el problema, aplicaremos la función 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 numérico


1. Abrir el archivo “4 Prestamo Bancario”

SENATI-Computación e Informática 115


Microsoft Office Excel 2007

Agregar el control numérico para el principal

2. Hacer en la ficha , botón

3. Hacer clic en el control numérico

4. Agregar el control numérico sobre la celda C3

5. Hacer clic derecho sobre este control y elegir la opción


6. Se presenta el siguiente cuadro de diálogo defina los datos mostrados en la
gráfica.

Estos datos se
utilizarán en el
control numérico
que se vinculará con
el principal, celda B3

Agregar el control numérico para la tasa de interés

7. Hacer en la ficha , botón

8. Hacer clic en el control numérico

9. Agregar el control numérico sobre la celda C4

10. Hacer clic derecho sobre este control y elegir la opción


11. Se presenta el siguiente cuadro de diálogo defina los datos mostrados en la
gráfica.

116 SENATI-Computación e Informática


Formularios

Estos datos se utilizarán


en el control numérico
que se vinculará con la
tasa de interés, celda C4

12. Finalmente su hoja de cálculo queda como se muestra a continuación.

Utilice estos
controles para
definir el principal
y la tasa de interés.

=c4/100

Paso a Paso: Uso del cuadro combinado


1. Crear un Cuadro combinado que permita la elección entre tres productos.
Computadora HP Optimux $ 1,000.00
Impresora HP 840C $ 150.00
Scanner HP 3500 $ 100.00

2. Hacer en la ficha , botón

3. Hacer clic en el cuadro combinado

4. Agregar el control cuadro combinado sobre la celda A3


5. Diseñar los cuadros adicionales

SENATI-Computación e Informática 117


Microsoft Office Excel 2007

6. Hacer clic derecho sobre el control cuadro combinado y elegir la opción

7. Se presenta el siguiente cuadro de diálogo defina los datos mostrados en la


gráfica.

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


vinculante:
1 = Si se eligió la primera opción, Computadora HP Optimux
2 = Si se eligió la primera opción, Impresora HP 640C
3 = Si se eligió la primera opción, Scanner 3500
9. Para resolver el problema, aplicaremos la función 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 SENATI-Computación e Informática


Formularios

Paso a Paso: Ejemplos tipo con formularios


1. Abrir el archivo “Controles - para elaborar . XLSX”

2. El archivo contiene dos páginas: “Cotización” y “Lista de productos”

3. La idea es desarrollar la hoja de cotización. 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 cotización.

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 opción
6. Del cuadro de diálogo presentado en el
recuadro Nombre, escriba “Productos”

SENATI-Computación e Informática 119


Microsoft Office Excel 2007

7. Hacer clic en el botón 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 opción
10. Del cuadro de diálogo presentado en el
recuadro Nombre, escriba “ProducPrecio”

11. Hacer clic en el botón para terminar

Insertar control casilla de verificación en la hoja de cotización.


12. Hacer clic para cambiar a la hoja cotización

13. Hacer en la ficha , botón


14. Hacer clic en el control casilla de verificación

120 SENATI-Computación e Informática


Formularios

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 opción

Hacer clic para activar el control


Escribir $A$3 para vincular este
control con la celda en mención

Insertar controles botones de opción

17. Hacer en la ficha , botón

18. Hacer clic en el control botón de opción


19. Agregar tres de estos controles sobre las celdas
A5 … A9

Hacer clic derecho y luego clic


izquierdo para al entrar al modo
edición y cambiar el nombre de los
controles. Asignar los nombres
mostrados en la gráfica.

20. Hacer clic derecho sobre este control y elegir la opción

SENATI-Computación e Informática 121


Microsoft Office Excel 2007

Hacer clic para activar el control


Escribir $A$7 para vincular este control
con la celda en mención

21. Repetir el paso 20 para vincular los otros dos controles de opción con la celda
A7

Asignar validación 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 diálogo

Elegir la
opción “Lista”

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

25. Hacer clic en el botón para terminar

122 SENATI-Computación e Informática


Formularios

26. Su cuadro de diálogo queda como se muestra en la gráfica.

Adicionar las fórmulas


27. Ingresar las fórmulas mostradas para terminar el módelo

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

SENATI-Computación e Informática 123


Microsoft Office Excel 2007

Paso a Paso: Ejemplos tipo con formularios


1. Realizar el siguiente diseño y asigne a la hoja el nombre ENCOMIENDA.

ENCOMIENDA

Hoja ENCOMIENDA del libro Proformas.

2. Luego cree el siguiente diseño y asígnele el nombre a la hoja de COSTOS.

COSTO

Hoja COSTOS del libro Proformas.


3. Añada los controles de formulario a su hoja de cálculo, para tener un diseño de
acuerdo a la figura.

124 SENATI-Computación e Informática


Formularios

Formato de control
Para terminar con el diseño, debe modificar el formato de los controles para que
interactúen con celdas de su hoja de cálculo. Es decir, por ahora los controles
son sólo elementos que no se relacionan con la hoja de cálculo, al modificar el
formato de los controles, logramos que dichos controles se vinculen a celdas y
así podemos construir fórmulas 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…

Opción Formato de control

Control numérico Kilogramos


Asignarle las siguientes propiedades:

SENATI-Computación e Informática 125


Microsoft Office Excel 2007

Valor actual :0
Valor mínimo :1
Valor máximo : 50
Incremento :1
Celda vinculante : C7

Botones de opción 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 opción (Normal y Express) debemos indicar una
celda con la que se vincule H1.

Al elegir uno de los botones de opción, la celda H1 toma un valor.

Casilla de verificación Delivery


Además, se debe modificar el formato de la casilla de verificación (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 lógico

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. Además, debe vincular el
control a una celda de su hoja de cálculo. Asigne el nombre DESTINO al rango
B5:B11 (Hoja Costos).

126 SENATI-Computación e Informática


Formularios

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


número del elemento seleccionado de la lista.

La celda H3 muestra el número del elemento seleccionado

Fórmulas relacionadas a controles.

Gracias a las celdas vinculadas de sus controles, usted podrá definir ciertas
fórmulas basados en los valores de las celdas vinculadas.

SENATI-Computación e Informática 127


Microsoft Office Excel 2007

Calcular el Costo Básico


Debe multiplicar los Kilogramos por el Costo de acuerdo a la ciudad (vea
la tabla Costos).
Antes de realizar los cálculos asigne el nombre COSTO al rango C5:C11.
En la celda C16 de la Hoja Encomienda escriba:
=INDICE(COSTO; H3) * C7
Gracias a la función INDICE podemos ubicar directamente el costo en
base al número 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 Básico sí el servicios es
Express. En la celda C17 escriba la fórmula:
=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 fórmula:
=SI (H2 = VERDADERO; 10; 0)
Recuerde:
Si la casilla está activa la celda H2 muestra VERDADERO y sino
FALSO.
Completar fórmulas
Escribir fórmulas 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 fórmulas, interactuando con sus controles, por
ejemplo, haga clic en su control número o elija otra ciudad.

128 SENATI-Computación e Informática


Capítulo

Macros
En este capítulo 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

SENATI-Computación e Informática 129


Macros
Cada día las grandes y pequeñas empresas están descubriendo el poder de utilizar
conjuntamente las macros con Excel, las compañías requieren de programas
informáticos realizados a "medida" de sus necesidades, para gestionar de manera
automática, rápida 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 días enteros en realizar informes de manera manual los
cuales, con un simple clic a un botón en cuestión de segundos estaría realizado.
Las macros nos permiten automatizar y realizar tareas complejas, aumentando la
eficiencia y eficacia del trabajo.
Definición
Las macros son un grupo de instrucciones programadas bajo entorno VBA (Visual
Basic para aplicaciones), cuya tarea principal es la automatización de tareas
repetitivas y la resolución de cálculos complejos.
El lenguaje VBA, es un lenguaje de programación basado en el Visual Basic,
enfocado a la realización 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 resolución de
cálculos complejos, automatizar tareas...

Ejemplo de código VBA aplicado en Excel


Una vez realizado el código VBA, podemos ejecutar el programa mediante la
creación de botones, nuevos menús... de tal forma que la aplicación creada resulte
intuitiva y de fácil manejo.
También puede crear una macro utilizando el Editor de Visual Basic.

Editor de Visual Basic


Entorno en el que puede escribir y modificar código y procedimientos de Visual
Basic para Aplicaciones.

SENATI-Computación e Informática 131


Microsoft Office Excel 2007

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


depuración para buscar sintaxis, tiempo de ejecución y problemas lógicos en el
código 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 botón de barra
de herramientas, un gráfico o un control) para que pueda ejecutarla haciendo clic
en ese objeto.

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

Para que se utilizan las Macros


Mediante macros VBA podemos crear múltiples aplicaciones que realicen los
cálculos automáticamente 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 diseñado especialmente para
las necesidades de los usuarios.
Las macros VBA trabajan en diversos programas, los más conocidos son los
programas que se incluyen en el paquete Office (Excel ,Word, Access...) pero
además las macros VBA también trabajan en diversos programas como
SolidWorks, Autocad... (software creado para el diseño de ingeniería) lo cual
proporciona una enorme versatilidad de utilización, así como una comunicación
entre diversos programas.

132 SENATI-Computación e Informática


Macros VBA con Excel
Creación de nuevas funciones- como por ejemplo la función "código" que
convierte dígitos alfanuméricos a dibujos basados en codificación de código
de barras.
Automatización de tareas repetitivas- realización de informes automáticos,
conexión con bases de datos y otros programas.
Resolución de cálculos complejos e iterativos
Creación de programas, como gestores documentales, software de
planificación.

Ventajas

Realización de programas a medida


Cada empresa posee sus peculiaridades y características, en muchas
ocasiones se adquieren paquetes de software estandarizado que no
cumplen las expectativas iníciales y que acaban por no aportar una
solución real a las necesidades del negocio, mediante las macros en
Excel cada programa desarrollado se adapta fácilmente a cada tipo de
empresa, proporcionando un versatilidad y flexibilidad incomparable.

Rápido y fácil 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 están desarrolladas bajo Excel, herramienta muy conocida y utilizada en
la mayoría de las empresas.

Realización de tareas y cálculos complejos


En muchas ocasiones dejamos de utilizar técnicas conocidas para la
resolución de problemas, que nos podrían aportar datos de vital
importancia, por la gran complejidad de cálculo que conllevan,
mediante macros en Excel estas tareas y cálculos 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 automáticas,
ocupando el tiempo ganado en otros asuntos.

SENATI-Computación e Informática 133


Microsoft Office Excel 2007

Seguridad de Macros
Los Macrovirus
Los macro virus son una nueva familia de virus que infectan documentos y hojas
de cálculo. Fueron reportados a partir de Julio de 1995, cambiando el concepto de
aquella época, de que los virus tan sólo podían infectar o propagarse a través de
archivos ejecutables con extensiones .EXE o .COM
Hoy en día basta con abrir un documento en Word o una hoja de cálculo de Excel
infectados para que un sistema limpio de virus sea también infectado.
Los macro virus tienen 3 características básicas:
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 estén conectadas.
Haciendo uso de las funciones de la interfaz de las librerías MAPI
(Messaging Application Programming Interface), desde el sistema
infectado se envía 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 SENATI-Computación e Informática


A pesar de que los macro virus son escritos en los lenguajes macro de MS-Word o
MS-Excel y por consiguiente deberían infectar únicamente a documentos y hojas
de cálculo, es posible desarrollar macro virus que ejecuten llamadas al sistema
operativo, dando órdenes de borrar archivos o hasta de reformatear al disco duro.
Otra característica de los macro virus es que sus acciones están destinadas
exclusivamente a un tipo de documento, hoja de cálculo 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 infección, son sumamente fáciles de crear o modificar, pues
tan sólo es necesario tener nociones de programación en lenguaje macro.
Incluso se distribuyen Generadores de Macro Virus en muchos sitios de
Internet.
Ahora todos los usuarios intercambian más documentos que archivos
ejecutables, ya sea a través de diskettes, correo electrónico 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 programación 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 diseño de página de los archivos terminados.
Para reducir más el riesgo de infección con virus en los archivos de Office,
establezca el nivel de seguridad de las macros y use firmas digitales (firma digital:
sello electrónico 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:

o Hacer clic en la ficha de la cinta de opciones

o Hacer clic en el botón

SENATI-Computación e Informática 135


Microsoft Office Excel 2007

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 información 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.

¿Cómo obtener un certificado Digital?


Puede obtener un certificado digital de una autoridad de certificación comercial,
como VeriSign, Inc. o de su administrador de seguridad interna o profesional de
Tecnologías de la Información (TI). También puede crear una firma digital
mediante la herramienta Selfcert.exe.
Para obtener más información acerca de las autoridades de certificación que
ofrecen servicios para productos de Microsoft, vea la lista de Microsoft Root
Certificate Program Members (Integrantes del programa de certificados raíz de
Microsoft).

Para agregar un certificado digital

Hacer clic en la ficha , botón

Hacer clic en el menú , opción


Se presenta el cuadro de diálogo

Hacer clic en el botón

Se presenta el siguiente cuadro de diálogo

136 SENATI-Computación e Informática


Elegir el certificado que
desea utilizar

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 opción, 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 confía en el editor, y mirar el campo Válido desde para determinar si
el certificado es actual.
El certificado también puede incluir detalles como la dirección de correo
electrónico o e sitio Web de la persona que lo ha obtenido.
Una vez que haya agregado una persona (o corporación) 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á también 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 automáticamente.
De todos modos, puede desactivar la opción de seguridad Confiar en todas las
plantillas y complementos instalados, para recibir una advertencia acerca de estas
macros. La advertencia variará en función del nivel de seguridad que haya
elegido.

SENATI-Computación e Informática 137


Microsoft Office Excel 2007

Grabar una nueva Macro


Hacer clic en la ficha , botón
Se presenta el siguiente cuadro de diálogo

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

Escriba una descripción de lo


que realiza su Macro

Paso a Paso: Grabar una Macro


1. Abrir el archivo “5 Macro1”.
2. En la siguiente hoja de cálculo crear una macro que permita automáticamente
ordenar la tabla por categoría del empleado.

3. Hacer clic en la ficha , botón

138 SENATI-Computación e Informática


4. Se presenta el siguiente cuadro de diálogo

Escriba como nombre de


la Macro “OrdenarLista”

Hacer clic en el botón

5. A partir de este momento todo acción 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 opción “CATEGORÍA”

9. Hacer clic en la ficha , botón

SENATI-Computación e Informática 139


Microsoft Office Excel 2007

Editar una Macro utilizando Visual Basic


La macro se graba en código de Visual Basic en una hoja de módulo.

Hacer clic en la ficha , botón


Del cuadro de diálogo presentado elegir su macro.

Elegir la Macro
“OrdenarLista”

Hacer clic en el botón se muestra el código

Ahora puede modificar el código según sus nuevos requerimientos.

140 SENATI-Computación e Informática


Eliminar macros
Para eliminar una Macro seguir el siguiente procedimiento.

Hacer clic en la ficha , botón


Del cuadro de diálogo presentado elegir su macro.

Elegir la Macro que


desea eliminar

Hacer clic en el botón se muestra el código

Referencias Relativas
Una referencia es la ubicación 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 posición 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 posición de cada celda seleccionada en relación 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 más a la derecha y una celda
más hacia abajo.

SENATI-Computación e Informática 141


Microsoft Office Excel 2007

Como usted puede observar configurar como absoluta o relativa tiene sus ventajas
según 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


posición de las celda que involucra la sentencia, esto se
verá reflejado en el resultado.

Ejemplo:

ActiveCell.FormulaR1C1 = "=R[-1]C+1"
Realiza la fórmula n = n +1

Paso a Paso: Crear Macro con referencia relativa

1. Hacer clic en la ficha , botón

Uso de Macros en Formularios


Es posible asignar Macros a los controles de un formulario, esto permite mejorar la
interfaz de su aplicación y automatizar sus tareas.

Paso a Paso: Asignar Macro a botones


1. Abrir el archivo “5 Macro1”.
2. En la siguiente hoja de cálculo crear tres Macros:

142 SENATI-Computación e Informática


- Ordenar_Por_Apellidos
- Ordenar_Por_Ocupación
- Ordenar_Por_Sueldo

3. Hacer clic en la ficha , botón


4. Se presenta el siguiente cuadro de diálogo

Escriba como nombre de la Macro


“Ordenar_Por_Apellidos

Hacer clic en el botón

5. A partir de este momento todo acción 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.

SENATI-Computación e Informática 143


Microsoft Office Excel 2007

8. Hacer clic en la ficha , elegir

Elegir la opción “APELLIDOS Y NOMBRES

9. Hacer clic en la ficha , botón


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 , botón


13. Hacer clic en el control Botón
14. Al dibujarla en la hoja de cálculo se presenta el
siguiente cuadro de diálogo

Elegir “Ordenar_Por:Apellidos”
y hacer clic en el botón

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

144 SENATI-Computación e Informática


Paso a Paso: Asignar Macro a botones de opción
1. Abrir el archivo “5 Macro1”.
2. En la siguiente hoja de cálculo crear tres Macros:
- Filtrar_Afil_AFP
- Sueldo_Mayor_30000
- Elimina_Filtro

3. Hacer clic en la ficha , botón


4. Se presenta el siguiente cuadro de diálogo

SENATI-Computación e Informática 145


Microsoft Office Excel 2007

Escriba como nombre de la Macro


“Filtra_Afil_AFP”

Hacer clic en el botón

5. A partir de este momento todo acción 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 SENATI-Computación e Informática


9. Hacer clic en la ficha , botón
10. Repetir este proceso para crear a las otras dos Macros.
11. Adicionar los botones de opción en la hoja

12. Hacer en la ficha , botón


13. Hacer clic en el control Botón
14. Dibujar los tres botones de opción en la hoja y asignar
sus nombres según la gráfica

15. Hacer clic derecho sobre uno de los botones de opción

16. Del menú contextual presentado elegir la opción

Elegir la opción
“Filtra_Afil_AFP”

Hacer clic en el botón


para
terminar

17. Repetir este procedimiento para signar Macro a los otros dos botones de opción

SENATI-Computación e Informática 147


Microsoft Office Excel 2007

Plantillas con formularios y Macros


Para mejorar la forma de trabajo con archivos semejantes que se generan cada mes,
puede diseñar 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 características.

Paso a Paso: Uso de plantillas predefinidas

1. Hacer clic en el botón Botón Office,

2. Hacer clic en el botón


3. Se presenta el siguiente cuadro de diálogo

Seleccionar la opción
Plantillas instaladas

Seleccionar una de las


plantillas mostradas

4. Hacer clic en el botón

148 SENATI-Computación e Informática


Paso a Paso: Uso de plantillas de MS Office Online

1. Hacer clic en el botón Botón Office,

2. Hacer clic en el botón


3. Se presenta el siguiente cuadro de diálogo

Seleccionar una de
las plantillas
Microsoft Office
Online Seleccionar una de
las plantillas
mostradas

4. Hacer clic en el botón


5. A continuación se muestran algunas plantillas de Ms Office OnLine

SENATI-Computación e Informática 149


Microsoft Office Excel 2007

Crear Plantillas personalizadas


1. Para crear una plantilla diseñe su hoja de cálculo y al guardarla elegir el tipo

150 SENATI-Computación e Informática


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

Utilizar Plantillas personalizadas


1. Para utilizar una plantilla hacer clic en el botón Office ,
2. Se presenta el siguiente cuadro de diálogo

Elegir la
plantilla
que
quiera
utilizar

Elegir
plantillas

Desarrollo de proyectos con Macro y formularios


La Empresa JH Import's dedicada al Rubro de Importación y Exportación 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 solución actual, para lo cual ha contratado los Servicios de un
Profesional de Computación de SENATI, el cual será el encargado de desarrollar esta
aplicación.

SENATI-Computación e Informática 151


Microsoft Office Excel 2007

Consideraciones
El Programa que se determinó utilizar será MICROSOFT EXCEL For Windows,
ya que se maneja poca información y dado el conocimiento de su personal del
Suite Office.
El Sistema de Planillas será almacenado en el archivo PLANI2008.XLS y el
análisis ha determinado que será distribuido en varias hojas de cálculo, según el
siguiente flujograma de datos.

Flujo Lógico del Programa

Proceso de Automatización
1. Automatización del Sistema de Planillas
1.1. Crear un nuevo Libro o Cuaderno de Trabajo
1.2. Asignar nombres a las Hojas de Cálculo
Para una mejor comprensión de donde se encuentra cada Información, se le
asignarán nombres a todas las hojas según el Flujo Lógico del Programa (ver
parte inferior del libro).

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

1.3. Automatización de la Planilla

152 SENATI-Computación e Informática


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 Cálculo según su criterio y darle un aspecto
presentable y agradable (utilizar tipos de letras, bordes, sombreados, datos
numéricos 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 extraídos
de la hoja Datos Personales mediante el campo No. DE CARNET.
 Para realizar esta operación de búsqueda y extracción de datos
utilice la función 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 ubíquese 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, Función...
4.- Luego, haga Clic en Búsqueda 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 información.
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á

SENATI-Computación e Informática 153


Microsoft Office Excel 2007

realizar la búsqueda 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 botón Terminar y copie la fórmula (B6 a
B59) para extraer los APELL. Y NOMBRES.

C. Cálculo de los Ingresos


 Por política de la empresa se le asignará a todos los trabajadores
5% de Bonificación por Costo de Vida el cual será deducido del
sueldo básico.
BONIFICACION = 5% del SUELDO BASICO
 Por acuerdo con el sindicato de la Empresa se acordó asignar 10
soles por c/hijo como asignación familiar.
ASIGNACION FAMILIAR = 10 * Número de hijos
 El número de hijos debe ser extraído de la hoja de Datos
Personales. Utilizar función BUSCARV...
 El INCREMENTO es de 10% y sólo se les asignará a los
trabajadores afiliados a una AFP.
Recomendamos utilizar la función lógica =SI... para realizar este
cálculo.
 El INCENTIVO es de 3% y sólo se le asignará a los empleados
afiliados a una AFP.
Recomendamos utilizar la función lógica =SI... para realizar este
cálculo.
 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 SENATI-Computación e Informática


 SNP (Seguro Nacional de Pensiones) sólo 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 función lógica =SI... para realizar este
cálculo.
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 = %Comisión variable * Total de ingresos.
Para Calcular los datos recomendamos utilizar la función lógica
=SI(...BUSCARV(...
Ejemplo.
=SI(esta Afiliado a AFP,Extraer el % de descuento de la Tabla
AFP * Total Ingresos,Caso Contrario 0)
Fórmula 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 función lógica =SI... para realizar este
cálculo.
 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. Cálculo 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:

SENATI-Computación e Informática 155


Microsoft Office Excel 2007

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


Ingresos.
IPSS = 9% del TOTAL DE INGRESOS
 SNP (Seguro Nacional de Pensiones) sólo 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 función lógica =SI... para realizar este
cálculo.
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 Histórica)
Copiar todos las fórmulas a valores (para que no cambien su valor si hay
modificaciones)
Ahora puede generar las Planillas de los siguientes meses, guardando como una
Hoja Histórica la Planillas ya realizadas.

DISEÑAR LA HOJA DE DATOS PERSONALES

156 SENATI-Computación e Informática


DISEÑAR LA HOJA DE TABLA AFP

DISEÑAR LA HOJA DE PLANILLA

DISEÑAR LA HOJA BOLETA DE PAGO

SENATI-Computación e Informática 157


Microsoft Office Excel 2007

Cuestionarios

1. Cuáles son los pasos para crear una macro.

2. Es posible asignarle un atajo a una macro, para ejecutarlo rápidamente.

3. Para programar en una Macro, que lenguaje de programación se utiliza.

4. Qué es un Macrovirus.

5. Cual es la utilidad de la creación de plantillas, aplicando formularios y macros.

158 SENATI-Computación e Informática


Capítulo

Programación con VBA


En este capítulo trataremos:

Programación con Visual Basic

SENATI-Computación e Informática 159


Microsoft Office Excel 2007

Introducción 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 sólo se puede compilar con el documento, hoja o base
de datos en que fue creado
Visual Basic es una herramienta de diseño de aplicaciones para
Windows, en la que estas se desarrollan en una gran parte a partir del diseño de una
interface gráfica. En una aplicación Visual Basic, el programa está formado por una
parte de código puro, y otras partes asociadas a los objetos que forman la interface
gráfica.

Procedimientos
Objetos

Código

Es por tanto un término medio entre la programación tradicional, formada por una
sucesión lineal de código estructurado, y la programación orientada a objetos.
Combina ambas tendencias. Ya que no podemos decir que Visual Basic
pertenezca por completo a uno de esos dos tipos de programación, debemos
inventar una palabra que la defina: PROGRAMACION VISUAL.

Pasos para la creación de un programa en VBA


La creación de un programa bajo Visual Basic lleva los siguientes pasos:
Análisis, planteamiento lógico de la solución del problema, diagrama de flujo,
diseño del formulario, programa.

160 SENATI-Computación e Informática


ción con VBA

Análisis
En esta etapa se construye un modelo del problema extraído 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


(numérico, texto, fecha, hora, …) y su valor inicial?

3. ¿Qué resultado desea hallar, cálculos, reportes, consultas, analice el


tipo de dato?

4. ¿Qué método puedo utilizar para encontrar este resultado?

Requerimientos del análisis del problema:

Análisis del
problema

Definición Definir Definir


del datos de datos de
problema entrada salida

Planteamiento lógico de la solución del problema.


El planteamiento lógico de basa en la idea que uno tiene para resolver el
problema, basado en un modelo matemático o secuencia de procesos (leer
datos, registrar datos, consultar datos, reportar datos, … etc.).
Diagrama de flujo
Es una herramienta que permite plantear una solución lógica a un problema de
computadoras.
Diseño del formulario
Es la interfaz de comunicación hombre máquina, 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.)

SENATI-Computación e Informática 161


Microsoft Office Excel 2007

Fundamentos de programación 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 repetición de ciertas líneas de programas, a estos algoritmos se
denominan de estructura repetitiva.
Estructura básica para cualquier algoritmo a desarrollar:

Declaración de Captura de Proceso de Salida de


variables datos datos información

Estructura Secuencial.
Este tipo de algoritmos se caracteriza por que entre sus
instrucciones no existen estructuras condicionales ni
repetitivas, se desarrollan línea a línea hasta culminar con su
ejecución, gráficamente se observaría de la siguiente manera:

162 SENATI-Computación e Informática


ción con VBA

Ejemplo
Diseñar un programa que permita hallar el área de un triangulo rectángulo si se
sabe: Área_triángulo = (B * H) / 2
Donde B es base del triangulo y H es la altura.
1. Análisis
i. ¿Qué te piden que realices?
Hallar el área de un triangulo.
ii. ¿Qué datos necesito conocer?
Según la fórmula que se muestra debería de conocer la base y la altura.
2. Planteamiento Lógico.
El problema se resuelve con una fórmula matemática AR = B*H
3. Definición de variables de entrada
Las variables que se usaran para la captura de la base y la altura son: B y H.
4. Definición de variables de salida
La variable en donde se muestra el área del triangulo rectángulo 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 (Textbox¨2.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 condición

V
Condición Instrucciones

SENATI-Computación e Informática 163


Microsoft Office Excel 2007

b. Condiciones doble. Sentencia SI – ENTONCES – SINO


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

F V
Condición

Instrucciones_B Instrucciones_A

Ejemplo
Realizar un algoritmo que permita ingresar 2 números, luego determinar
si el primer número ingresado fue el mayor (mostrar un mensaje).
1. Análisis.
i. ¿Qué te piden que realices?
Evaluar 2 números para determinar si el primer número
ingresado fue el mayor.
ii. ¿Qué datos necesito conocer?
Los 2 números.
2. Planteamiento Lógico.
La forma directa de poder saber si un número es mayor a otro es
creando una condición relacional. A > B
3. Definición de variables de entrada.
Se requerirán dos variables, N1 y N2 que representen a los números
que se evalúan.
4. Definición de variables de salida.
Para este problema no existirán variables de salida debido a que se
desea mostrar solo mensajes.
5. Programa
Private Sub CommandButton1_Click()
N1 = val(text1.text)
N2 = val(text2.text)
If n1>n2 then

164 SENATI-Computación e Informática


ción con VBA

Textbox1.text = “El primer número es el mayor”


Else
Textbox1.text = “El segundo número es el mayor”
End If
End Sub
6. Diagrama de Flujo

INICIO

Declaración de variables
N1, N2: entero

N1, N2

F V
A>B

El primer El primer
número no número es
es mayor mayor

FIN

Sentencia selección-caso
Esta es una estructura de decisión múltiple, evaluará una expresión condicional
que podrá tomar uno de los “n” valores distintos que para algunos casos puede
tratarse de rangos o valores individuales, según cumpla con uno de estos.

SENATI-Computación e Informática 165


Microsoft Office Excel 2007

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

Espacio Recorrido Gasolina

0 y 30 1 galón

31 y 60 2 galones

61 y 200 3 o más galones

1. Análisis.
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 (según formula).
2. Planteamiento Lógico.
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 kilómetros
El mensaje es 1 galón.
3. Definición de variables de entrada.
Se requerirán dos variables, V y T que representen a la velocidad y el tiempo
respectivamente.
4. Definición 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
Select case e
case 0 to 30

166 SENATI-Computación e Informática


ción con VBA

text3.text =”Debe usar un galón”


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

Declaración de variables
V, T, E: entero

V, T

E=V*T

E
31 y 60
0 y 30 60 y 200

Debe Debe Debe


usar 1 usar 2 usar 3 o
galón galones más
galones

FIN

Estructura Repetitiva.
Conjunto de instrucciones que se repiten un número determinado de veces
mientras se cumple una determinada condición o en todo caso se le ha dado un
límite de veces a ejecutar.
Inicio de Bucle

Instrucción 1

Instrucción N

Fin de Bucle

SENATI-Computación e Informática 167


Microsoft Office Excel 2007

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
C=C+1
vuelta (interacción) que da el bucle.

Inicio de Bucle
Fin de Bucle

N
Acumulador. Es denominado también totalizador,
es una variable cuya misión es almacenar cantidades
o valores resultantes de sumas sucesivas. Realiza la AC = AC + N
misma función que un contador con la diferencia de
que el incremento o decremento de cada suma es
Fin de Bucle
variable en lugar de constante como en el caso del
contador.

Ejemplo
Desarrollar un algoritmo que permita calcular y mostrar la suma de los n
primeros números naturales, deberá ingresar el límite de números a sumar.
S = 1 + 2 + 3 + 4 + 5 +... + n
1. Análisis.
i. ¿Qué te piden que realices?
Calcular la suma de n números naturales.
ii. ¿Qué datos necesito conocer?
La cantidad de números a sumar.
2. Planteamiento Lógico.
Este problema se puede haciendo uso de acumuladores y contadores.
3. Definición de variables de entrada.
Se requerirán una variable que represente a la cantidad de números a
sumar(N).
4. Definición de variables de salida.
Tilizaremos la variable AC.
5. Programa
General Declaraciones
Dim i As Byte
Dim AC As Integer

168 SENATI-Computación e Informática


ción con VBA

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

Declaración de variables
I, N, AC: entero

AC = 0

Para I=1
Hasta N

AC = AC + I

AC

FIN

SENATI-Computación e Informática 169


Microsoft Office Excel 2007

La ventana del editor de Visual Basic


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

Hacer clic en la ficha , botón

Se presenta la ventana de programación Visual Basic

Barra de menú Barra de herramienta

Ventana de
proyecto

Formulario

Cuadro de
herramientas

A continuación se describen los principales elementos de la ventana de Microsoft


Visual Basic.
a. Barra de Menús
Presenta los comandos que se usan para trabajar con Visual Basic. Además
de los menús estándar Archivo, Edición, Ver, Insertar, Formato, Depuración,
Ejecutar, Herramientas, Complementos, Ventana y Ayuda.
b. Barra de Herramientas
Permite un acceso directo (solo un clic) a muchas de las operaciones más
frecuentes utilizadas durante el desarrollo de aplicaciones.
c. Cuadro de Herramientas
Contiene todos los objetos y controles que se pueden añadir a los formularios
para crear aplicaciones.

170 SENATI-Computación e Informática


ción con VBA

d. Diseñador de Formularios
Funciona como una ventana en la que se puede personalizar el diseño de la
interfaz de usuario (ventana) de una aplicación.
e. Explorador de Proyectos
Lista de los archivos (formularios, módulos, etc.) del proyecto actual. Un
Proyecto es una colección de archivos que utiliza para construir una
aplicación.
f. Ventana de Propiedades
Lista los valores de las propiedades del formulario o control seleccionado
que pueden ser modificados durante el diseño del formulario o control.
g. Ventana de Código
Funciona como un editor para escribir el código (sentencias) de la
aplicación. Cuando se ingresa el nombre de una función en la ventana de
código, Visual Basic automáticamente proporciona el formato o sintaxis de
la función.

Terminología de Visual Basic


Conforme trabaje con VBA necesitará estar familiarizado con los siguientes
términos:

Término Definición

Tiempo de diseño Es el momento en el que se construye la aplicación.

Tiempo de ejecución Es el momento en el cual ejecutamos aplicación.

Formulario ES el contenedor de los controles donde se diseña la


aplicación, también conocida como interfaz de
usuario.

Controles Representación gráfica de objetos tales como botones,


cuadros de lista, cuadros de edición, etc.

Objetos Un término general usado para describir todos los


formularios y controles que forman parte de la
aplicación.

Propiedades Los valores de un objeto, tales como tamaño, título,


color, etc.

Métodos 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 interactúa

SENATI-Computación e Informática 171


Microsoft Office Excel 2007

con los objetos de la aplicación.

Programación La programación controlada por eventos es la esencia


controlada por de las interfaces gráficas de usuario; el usuario acciona
eventos y el código responde.

Programación por eventos


En las aplicaciones manejadas por eventos, la ejecución no sigue una ruta
predefinida. En vez de esto, se ejecutan diferentes secciones de código en
respuesta a eventos.
La secuencia de eventos determina la secuencia en que el código se ejecuta. Es
por esto que la ruta que sigue el código de la aplicación 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
identificación del tipo de objeto. A continuación se ofrece una lista de
convenciones recomendadas para algunos de los objetos permitidos poro Visual
Basic.

Tipo de Control Prefijo Detalles

Etiqueta lbl lblAPELLIDOS

Cuadro de texto txt txtAPELLIDO

Casilla de verificación chk chkIMPRESORA

Botones de opción opt optCPU

Cuadro combinado, cuadro cbo cboCUDADES


lista desplegable

Cuadro de lista lst lstPAISES

Botón de comando cmd cmdSALIR

Formulario frm frmENTRADA

Marco fra fraTIPOS

Línea lin linVERTICAL

Imagen (Picture) pic picLOGOTIPO

Cuadro de número spn spnPÁGINAS

172 SENATI-Computación e Informática


ción con VBA

Formularios
El formulario es el principal medio de
comunicación entre el usuario y la
aplicación. Los usuarios interactúan 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 título del formulario.
Enabled True/False. Determina si está habilitado para responder a las
acciones del usuario.
Left y Top Ubicación 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.

Añadir controles al formulario


Para añadir 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 botón del Mouse.
Estos cuatro pasos se repiten con cada control que desea añadir al
formulario.

La Ventana de Código
La Ventana de Código se usa para escribir, mostrar y editar el código de su
aplicación. Puede abrir una ventana de código por cada módulo de su aplicación,
de modo que puede fácilmente copiar y pegar entre ellos. El editor de texto es
solo un editor ASCII.

SENATI-Computación e Informática 173


Microsoft Office Excel 2007

La Ventana de Código contiene:

Lista de eventos
Lista de objetos

La barra de división

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
código se muestra el procedimiento de evento asociado con ese evento.
Ejemplo:
c. La Barra de División
Permite dividir la ventana de código en dos partes.

Editando Código
Use las características de edición de Visual Basic para que su código sea más
fácil de leer.
Sangría
Use la sangría para diferenciar partes de su código, tales como estructuras
repetitivas y condicionales. Veamos el siguiente ejemplo:

Private Sub cmdIngresar_Click() Para aplicar sangría a una


sección de sentencias de un
If Len(Trim(txtUsuario))=0 Then código use la tecla Tab.
txtUsuario.SetFocus
ElseIf Len(Trim(txtContraseña))=0 Then
txtContraseña.SetFocus
ElseIf txtContraseña = “AGPS” Then

174 SENATI-Computación e Informática


ción con VBA

MsgBox “La clave ingresada es correcta”


Unload Me
Else
MsgBox “La clave ingresada no es válida”
txtContraseña.SelStart=0
txtContraseña.SelLength= Len(Trim(txtContraseña))
txtContraseña.SetFocus
End If
End Sub

Comentarios
El añadir documentación y comentarios a su código permite comprender mejor lo
que hace el código. El texto que continúe al símbolo de comentario será ignorado
en la ejecución de la aplicación. Veamos el siguiente ejemplo:

Private Sub cmdLimpiar_Click()


'Este procedimiento limpia la ventana de identificación Un comentario se
inicia con el carácter
txtUsuario.Text = "" 'Limpia el cuadro de texto apóstrofe ( „ )
txtUsuario.SetFocus ' Mueve el enfoque a txtUsuario End
Sub

Creación y uso de procedimientos


En las aplicaciones tradicionales o procedurales, es la aplicación quien controla que
porciones de código se ejecuta, y la secuencia en que este se ejecuta. La ejecución de la
aplicación se inicia con la primera línea de código, y sigue una ruta predefinida a través
de la aplicación, llamando procedimientos según 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 automáticamente procedimientos de evento en respuesta a
acciones del teclado, del ratón 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 código.

SENATI-Computación e Informática 175


Microsoft Office Excel 2007

El código que se escriba en el


procedimiento de evento Click es
ejecutado cuando el usuario haga
clic en un botón de comando.

Procedimientos Generales
Son procedimientos Sub o Function que son creados para que lleven a cabo tareas
específicas.
Para crearlos hacer clic en el menú Insertar, Procedimiento.
Si se tiene código duplicado en varios procedimientos de evento, se puede
colocar el código 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 sólo el nombre del
procedimiento, o empleando la instrucción Call con el nombre del procedimiento.
Por ejemplo:
Call Seleccionar(Text1)
Si se emplea la instrucción Call, se debe encerrar la lista de argumentos entre
paréntesis. Si se omite Call, también se deben omitir los paréntesis alrededor de
la lista de argumentos.

176 SENATI-Computación e Informática


ción con VBA

Procedimientos Function
Los procedimientos Function devuelven valores. En el siguiente ejemplo, el
procedimiento Function recibe un número y devuelve ese número 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 paréntesis cuando se invoque a
la función, como se muestra a continuación:
Resultado = Cuadrado (5)
Si se omiten los paréntesis, se puede ignorar el valor devuelto y no guardarlo en
una variable. Esto puede ser útil si se quiere ejecutar una función 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 habíamos llamado Procedimientos. Podemos tener
procedimientos que no estén relacionados con ningún evento ocurrido al
formulario o a sus controles. (Los Procedimientos que iremos insertando a lo
largo de la aplicación).
: Aquí puede insertar proc. y funciones del módulo.
Si se declara una variable dentro de un procedimiento o
Función, esa variable tiene como ámbito el Procedimiento
o Función donde se declaró.

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


Privada o Pública.

Variable Privada tiene como ámbito sólo el proc. y función donde


fue declarada

Variable Pública tiene como ámbito todos los proc. y funciones


del formulario y sus controles.

Variable a nivel de formulario debe declararse en la sección de


declaraciones, que está la ventana de código Objeto = General,
Proc. = Declaraciones. Tiene como ámbito todo el formulario

En un Módulo una variable puede declararse como Privada, con


lo que no saldrá de ese Módulo, o Pública, pudiendo en este caso
usarse en todo el programa

No es recomendable declarar variables con el mismo nombre.

SENATI-Computación e Informática 177


Microsoft Office Excel 2007

Formas de declaración de variables en un proyecto VB.


Sentencia Dim
Es la forma más común de declarar una variable como Privada. Puede emplearse
en un Procedimiento, Función, Formulario o Módulo. La sintaxis es de la
siguiente forma:
Su ámbito depende donde la declaro.
Dim nombrevariable As Integer Cada vez que entremos al formulario,
procedimiento o módulo, esa variable tomará el
valor cero (si es numérica) o nulo (si es string).
Sentencia PRIVATE
Es la forma de declarar una variable como Privada. Puede emplearse solamente
en la sección de declaraciones de un Formulario o Módulo. La sintaxis es de la
siguiente forma:
La variable NO puede utilizarse fuera
Private nombrevariable As Tipovariable del Formulario o Módulo donde se
declaró.
La sentencia Private no puede usarse en un
procedimiento o función.

Sentencia PUBLIC
Puede emplearse solamente en la sección de declaraciones de un Formulario o
Módulo. La sintaxis es de la siguiente forma:
Si se declara de esta forma en la
Public nombrevariable As Tipovariable sección de declaraciones de un
Para nombrarla, si estamos en el Formulario Formulario, esa variable puede usarse
en toda el programa.
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 módulos del proyecto. La sintaxis es:
Global nombrevariable As tipovariable La sentencia Global sólo puede usarse
en el apartado de declaraciones de un
Módulo.
Sentencia STATIC
Variable estática permite retener el valor de la variable cuando se vuelve a
invocar el proc. o función. Esta declaración como estática se realiza mediante la
instrucción Static
Static nombrevariable As tipovariable Sólo `puede declararlo dentro
de un procedimiento o función.

178 SENATI-Computación e Informática


ción con VBA

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 declaración de variables


Procedimiento La variable no puede usarse Dim Variable As
fuera de esta Procedimiento Tipovariable

Procedimiento, como La variable no puede usarse Static Variable As


permanente 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 sección de
declaraciones, como Private Variable As
Privada Tipovariable

Formulario Puede usarse en toda la Public Variable As


aplicación Tipovariable
En su sección de
declaraciones, como
Pública

Módulo Solamente puede usarse en Dim Variable As


ese Módulo Tipovariable
Como Privada
Private Variable As
Tipovariable

Módulo Puede usarse en toda la Public Variable As


aplicación Tipovariable
Como Pública
Global Variable As
Tipovariable

Forma de conocer el tipo de una variable. Función TypeName


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

NombreVariable puede ser cualquier variable con excepción de las de tipos


definidos por el usuario.

SENATI-Computación e Informática 179


Microsoft Office Excel 2007

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 número de punto flotante de precisión simple.
Doble Un número de punto flotante de precisión 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 válidos.
Objeto Un objeto que no respalda Automatización OLE.
Desconocido Un objeto de Automatización 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 paréntesis vacío adherido. Por ejemplo, si
NombreVariable es una matriz de enteros, TypeName devolverá "Integer()".

Objetos propiedades, métodos 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
Name Nombre del control.
AutoSize True/False. Determina si el tamaño del control se ajusta
automáticamente al texto que contiene.
Caption Texto que muestra el control.
Font Establece la fuente, estilo y tamaño para el texto del control.

180 SENATI-Computación e Informática


ción con VBA

Control Cuadro de Texto (Textbox)


Se utiliza para que el usuario le proporcione datos a la aplicación o
para que la aplicación le devuelva la información 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 tamaño para el texto del control.
Locked True/False. Determina si es posible modificar el texto en el
control.
MaxLength Establece la longitud máxima permitida para el texto en el
control.
MultiLine Establece si el control puede aceptar múltiples líneas de texto.
Name Nombre del control.
PasswordChar Carácter 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 Botón de Comando (Commandbutton)


Permite que la aplicación inicie, interrumpa o termine un proceso.

Propiedades
Caption Establece el texto que muestra el botón.
Font Establece la fuente, estilo y tamaño para el texto del control.
Name Nombre del botón.
Visible True/False. Establece si el botón será visible para el usuario.

Eventos
Click Ocurre cuando se hace clic sobre el botón.

SENATI-Computación e Informática 181


Microsoft Office Excel 2007

Estableciendo Propiedades
Al diseñar la interface de usuario de una aplicación Visual Basic, se deben
establecer la propiedades para los controles (objetos) creados.

Estableciendo Propiedades en Tiempo de Diseño


Algunas propiedades pueden ser establecidas en tiempo de diseño.
Para establecer estas propiedades se emplea la ventana de propiedades.
Si selecciona varios objetos a la vez y accede a la ventana de propiedades, sólo se
mostrarán 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 botón
secundario del ratón sobre un
objeto, y luego haga clic en
Propiedades.
También se puede obtener el
mismo resultado seleccionado el
objeto y luego presionando F4

Estableciendo Propiedades en Tiempo de Ejecución


En tiempo de ejecución, se puede escribir código para establecer u obtener el
valor de una propiedad.

La siguiente línea de código establece a negrita la


txtData.Font.Bold = True fuente de un cuadro de texto llamado txtData.

Este código 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 líneas de código 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 SENATI-Computación e Informática


ción con VBA

Obteniendo Propiedades en Tiempo de Ejecución


Puede emplear el siguiente código para obtener el valor de una propiedad en
tiempo de ejecución.

Dim sNombre as String Asigna a la variable sNombre el valor del cuadro de texto
sNombre = txtName.Text txtName

Definición 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. Variable
Ese dato podrá cambiar.
Piense por ejemplo, en un programa
consistente en la toma de datos de los
alumnos de un centro escolar. Existirán 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 según vayamos introduciendo los
datos de los distintos alumnos. Es posible, que a lo largo de la ejecución del
programa, esta variable Nombre contenga los datos:

Option Explicit
Obliga a declarar previamente las variables que se vayan a usar.
Esta declaración debe ponerla al comienzo de la sección de declaraciones de cada
formulario y módulo que contenga su aplicación.

Tipos de Variables
Las variables pueden ser de los siguientes tipos: (El número indicado en segundo
lugar indica el número de Bytes que ocupa en memoria.)

VARIABLE ESPACIO DETALLES


QUE
OCUPA

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


False (falso)

Byte 1 Bytes Números enteros, en el rango de 0 a 255

SENATI-Computación e Informática 183


Microsoft Office Excel 2007

Integer 2 Bytes Números enteros en el rango de -32768 a 32767

Long 4 Bytes Números enteros en el rango de -2147483648 a


2147483647

Single 4 Bytes Punto flotante, simple precisión

Doble 8 Bytes Punto flotante, doble precisión.

Currency Entero,
con punto
decimal
fijo
(Típico de
monedas)

String * Cadenas alfanuméricas de longitud variable o fija.


Una variable tipo String ocupa el mismo número
de bytes que caracteres tenga la cadena.

Date 8 Bytes Fechas

Objet 4 Bytes Referencia a objetos

Variant * Otros tipos de datos.


Una variable tipo Variant ocupa 16 bytes si se
trata de un número y 22 bytes + longitud de la
cadena si se trata de un dato tipo cadena de
caracteres.

Los bytes necesarios para almacenar esa variable dependerán 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 intención de que ocupen menos espacio.

Declaración de variables
Para declarar una variable se utiliza la sentencia Dim.
Sintaxis: Dim nombre_variable As Tipo_variable

Tipos de variables
A continuación se describen los tipos de variable.

184 SENATI-Computación e Informática


ción con VBA

a. Variables Alfanuméricas
Es toda información que va a contener texto o la unión de textos y números;
información que no representa cálculos matemáticos.
Ejemplo:
Nombre de una persona Dim nombres As String
Apellido Paterno de una persona Dim apel_pat As String
Dirección de una persona Dim direccion As String

Definiendo la cantidad de caracteres que aceptará la variable

Dim nombres1 As String nombres1 puede tener cualquier número de caracteres.

Dim nombres2 As String *15 nombres2 puede tener un máximo de 15 caracteres.

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

b. Variable Numéricas
¿Qué variables debemos declarar entonces como numéricas ? La respuesta es
bien sencilla: Aquellas que van a contener datos con lo que vamos a realizar
operaciones matemáticas.
Ejemplo:
Edad de una persona Dim nombres As Byte
Nota de un curso Dim nota1 As Byte
Sueldo Básico 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 más 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 números mayores de 255 ni números negativos.
Cada vez que declare una variable numérica piense en los valores que puede
tener, sobre todo cuando esa variable va a ser el resultado de una operación
matemática. Recuerde el escaso margen de una variable tipo Integer ( de -32768
a 32767)
Si la aplicación va a tratar moneda, piense en la forma de expresar los números
decimales y el número de ellos permitidos, así como el redondeo.

SENATI-Computación e Informática 185


Microsoft Office Excel 2007

La variable correcta para este caso es Currency, pero Currency le añade


automáticamente el tipo de moneda de cada país 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 extrañe si le expresa el número en dólares. Cambie el
país 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 típico 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 línea:

Dim Variable1, Variable2, Variable3, Variable4 As String

Esta declaración 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
línea, 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 número o una
cadena que no varía. Hay dos orígenes para las constantes:
 Constantes intrínsecas o definidas por el sistema proporcionadas por
Visual Basic.
 Las constantes simbólicas o definidas por el usuario se declaran mediante
la instrucción Const.

186 SENATI-Computación e Informática


ción con VBA

La sintaxis para declarar una constante es la siguiente:


[Public|Private] Const nombre_constante [As tipo] = expresión

El argumento nombre_constante es un nombre simbólico válido (las reglas son


las mismas que para crear nombres de variable) y expresión está compuesta por
constantes y operadores de cadena o numéricos; sin embargo, no puede utilizar
llamadas a funciones en expresión. Una instrucción Const puede representar una
cantidad matemática o de fecha y hora:

Const conPi = 3.14159265358979


Public Const conMaxPlanetas As Integer = 9
Const conFechaSalida = #1/1/95#

Se puede utilizar también la instrucción Const para definir constantes de cadena:


Public Const conVersion = “ 07.10.A”
Const conNombreClave = “Enigma”

Puede colocar más de una declaración de constante en una única línea si las
separa con comas:
Public Const conPi=3.14, conMaxPlanetas=9, conPobMundial=6E+09

Operadores
a. Aritméticos
^ Exponenciación
* Multiplicación
/ División
\ División entera
Mod Residuo entero (Ejm: A Mod B)
+ Suma
- Resta
& Concatenación de cadenas

b. Comparación
= Igual
<> Distinto
< Menor que

SENATI-Computación e Informática 187


Microsoft Office Excel 2007

<= Menor o igual


>= Mayor o igual
Like Compara dos cadenas
* Cero o más caracteres (Ejm: cad Like “ma*”)
? Cualquier carácter
# Cualquier dígito (0-9)

c. Lógicos
And “Y” lógico
Or “O” lógico
Xor “O” Exclusivo
Not Negación

Construcciones: If – then, Select Case


Las estructuras condicionales le permiten controlar el flujo de ejecución del programa.
A continuación se describen las estructuras de control

Condicional simple. If .. then


Use la estructura If...Then para ejecutar una o más instrucciones basadas en una
condición. Puede utilizar la sintaxis de una línea o un bloque de varias líneas:

 If condición Then Sentencias

 If condición Then
Sentencias
End If

Donde:
Condición. Es una expresión lógica, que devuelve un valor lógico: Verdadero o
falso. Ejemplo:
If then en una sola línea,
sólo puede ejecutar una
If cualquierFecha < Now Then CualquierFecha = Now línea de código
o
If cualquierFecha < Now Then
De este otro modo se pueden ejecutar varias líneas de
CualquierFecha = Now código
End If

188 SENATI-Computación e Informática


ción con VBA

Condicional doble If...Then...Else


Utilice un bloque If...The...Else para definir varios bloques de sentencias, uno de
los cuales se ejecutará:
If condición1 Then
[bloque de sentencias 1] Se evalúa esta condición si es verdadera se ejecuta el
bloque de sentencias 1
[ElseIf condición2 Then
[bloque de sentencias 2]] ... Si es falsa la condición1, evalúa la condición2, si es
[Else verdadera ejecuta el bloque de sentencias 2

[bloque de sentencias n]] Si no se cumple ninguna condición se ejecuta el bloque


End If de sentencias n

Por ejemplo, la aplicación podría 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
Else „ Comando Pegar
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

SENATI-Computación e Informática 189


Microsoft Office Excel 2007

o
Private Sub DeterminaCondición ( )
If Val (txtPromedio) >=13 Then
txtCondición = “Aprobado”
ElseIf Val (txtPromedio) >= 10 Then
txtCondición = “Asistente”
Else
txtCondición = “Desaprobado”
End If
End Sub

Observe que siempre puede agregar más cláusulas ElseIf a la estructura If...Then.
Sin embargo, esta sintaxis puede resultar tediosa de escribir cuando cada ElseIf
compara la misma expresión con un valor distinto. Para estas situaciones, puede
utilizar la estructura de decisión Select Case.

Condicional múltiple 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 expresión de prueba que se
evalúa una vez solamente, al principio de la estructura. Visual Basic compara el
resultado de esta expresión con los valores de cada Case de la estructura. Si hay
una coincidencia, ejecuta el bloque de sentencias asociado a ese Case:

Selec Case expresión_prueba Cada lista_expresiones es una lista de uno a


[Case lista_expresiones1 más valores.

[bloque de sentencias 1]] Si hay más de un valor en una lista, se


separan los valores con comas.
[Case lista_expresiones2
Cada bloque de sentencias contiene cero o
[bloque de sentencias 2]] más instrucciones.
. Si más de un Case coincide con la expresión
. de prueba, sólo se ejecutará el bloque de
instrucciones asociado con la primera
.
coincidencia.
[Case Else Visual Basic ejecuta las instrucciones de la
[bloque de sentencias n]] cláusula (opcional) Case Else si ningún valor
de la lista de expresiones coincide con la
End Select expresión de prueba.

Por ejemplo, suponga que agrega otro comando al menú Edición en el ejemplo
If...Then...Else. Podría agregar otra cláusula ElseIf o podría escribir la función
con Select Case:

190 SENATI-Computación e Informática


ción con VBA

Private Sub mnuCut_Click (Index As Integer)


Select Case Index
Case 0 „ Comando Cortar
CopyActiveControl „Llama a procedimientos generales
ClearActiveControl
Case 1 „ Comando copiar.
CopyActiveControl
Case 2 „ Comando borrar.
ClearActiveControl
Case 3 „ Comando Pegar.
PasteActiveControl
Case Else
frmFind.Show „ Muestra el cuadro de diálogo 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 evalúa una expresión cada vez que al
principio de la estructura. Por el contrario, la estructura If...Then...Else puede
evaluar una expresión diferente en cada sentencia ElseIf. Sólo puede sustituir una
esructura If...Then...Else con una estructura Select Case si la intrucción If y cada
instrucción ElseIf evalúa la misma expresión.

SENATI-Computación e Informática 191


Microsoft Office Excel 2007

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 repetición o bucle le permiten ejecutar una o más líneas de
código repetidamente. Las estructuras de repetición que acepta Visual Basic son:
 Do...Loop
 For...Next
 For Each...Next

192 SENATI-Computación e Informática


ción con VBA

Do...Loop
Utilice el bucle Do para ejecutar un bloque de sentencias un número indefinido
de veces. Hay algunas variantes en la sentencia Do...Loop, pero cada una evalúa
una condición numérica para determinar si continúa la ejecución. Como ocurre
con If...Then, la condición debe ser un valor o una expresión que dé como
resultado False (cero) o True (distinto de cero).

Do While condición Cuando se ejecuta este bucle Do, primero evalúa condición. Si
condición es False (cero), se salta todas las sentencias. Si es True
Sentencias (distinto de cero) Visual Basic ejecuta las sentencias, vuelve a la
instrucción Do While y prueba la condición de nuevo.
Loop

Por tanto, el bucle se puede ejecutar cualquier número de veces, siempre y


cuando condición sea distinta de cero o True. Nunca se ejecutan las sentencias si
condición 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 posición, contador
posición = 1
Do While InStr (posición, cadenalarga, destino)
posición = InStr (posición, 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 instrucción Do...Loop
Do
Sentencias Se ejecuta las sentencias primero y prueba la condición después de
cada ejecución. Esta variación garantiza al menos una ejecución
Loop While condición de sentencias:

Hay otras dos variantes análogas a las dos anteriores, excepto en que repiten el
bucle siempre y cuando condición sea False en vez de True.
Hace el bucle cero o más veces Hace el bucle al menos una vez
Do Until condición Do
Sentencias Sentencias
Loop Loop Until condición

SENATI-Computación e Informática 193


Microsoft Office Excel 2007

For...Next
Utiliza una variable llamada contador que incrementa o reduce su valor en cada
repetición del bucle. La sintaxis es la siguiente:
Los argumentos contador,
iniciar, finalizar e incremento
son todos numéricos.
For contador = iniciar To finalizar [Step incremento]
Sentencias El argumento incremento puede ser positivo
Next [contador] o negativo. Si incremento es positivo, iniciar
debe ser menor o igual que finalizar o no se
ejecutarán 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 código 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 colección de objetos o de una matriz en vez
de repetir las sentencias un número especificado de veces.
Esto resulta especialmente útil si no se sabe cuántos elementos hay en la
colección. He aquí la sintaxis del bucle For Each...Next:

194 SENATI-Computación e Informática


ción con VBA

For Each elemento In grupo Tenga en cuenta las restricciones siguientes


Sentencias cuando utilice For Each...Next:

Next elemento  Para las colecciones, elemento sólo puede


ser una variable Variant, una variable
Object genérica o un objeto mostrado en el
El siguiente ejemplo habilita todos los Examinador de objetos.
Cuadro de Texto del formulario:  Para las matrices, elemento sólo puede ser
una variable Variant.
 No puede utilizar For Each...Next con una
matriz de tipos definidos por el usuario
Private Sub ModoEdición ( ) porque un Variant no puede contener un
Dim control 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 instrucción 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] Exit For y Exit Do
[bloque sentencias] Son muy útiles ya que, algunas veces, resulta
apropiado salir inmediatamente de un bucle sin
Next [contador]
realizar más iteraciones o sentencias dentro del
bucle.
Do [{While / Until} condición] Cuando utilice la instrucción Exit para salir de
[bloque de sentencias] un bucle, el valor de la variable contador
[Exit Do] difiere, dependiendo de cómo haya salido del
bucle:
[bloque de sentencias]
 Cuando termina un bucle, la variable
Loop contador contiene el valor del límite
superior más el paso.
Do  Cuando sale de un bucle prematuramente,
[bloque de sentencias] la variable contador conserva su valor
según las reglas usuales del alcance.
[Exit Do]
[bloque de sentencias]  Cuando sale antes del final de una
colección, la variable contador contiene
Loop [{While / Until} condición] Nothing si se trata de un tipo de dato
Object y Empty si es un tipo de dato
Variant.

SENATI-Computación e Informática 195


Microsoft Office Excel 2007

Trabajar con rangos de celda


Utilizando la notación A1
Puede hacer referencia a una celda o rango de celdas del estilo de referencia A1
utilizando el método 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 método


Range.

Referencia Significado

Range("A1") Celda A1

Range("A1:B5") Celdas de la A1 a la B5

Range("C5:D9,G9:H16") Selección 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 números 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 SENATI-Computación e Informática


ción con VBA

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


que puede sustituir las variables por los números 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 continuación, 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 cálculo

Columns(1) Columna uno

Columns("A") Columna uno

Columns Todas las columnas de la hoja de cálculo

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

SENATI-Computación e Informática 197


Microsoft Office Excel 2007

El siguiente ejemplo cambia a negrita el formato de las filas uno, tres y cinco de
la hoja de cálculo 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 notación abreviada


Puede utilizar el estilo de referencia A1 o un rango con nombre entre paréntesis
como método 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 más sencillo identificar los rangos por nombre que por la notación A1. Para
asignar un nombre a un rango seleccionado, haga clic en el cuadro de nombre
situado a la izquierda de la barra de fórmulas, escriba un nombre y, a
continuación, 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 SENATI-Computación e Informática


ción con VBA

El siguiente ejemplo hace referencia al rango de hojas de cálculo específico


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 método GoTo, que activa el libro
y la hoja de cálculo y, a continuación, selecciona el rango.
Sub LimpiaRango()
Application.Goto Reference:="Libro1.xls!MiRango"
Selection.ClearContents
End Sub

El siguiente ejemplo muestra cómo se escribiría 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

SENATI-Computación e Informática 199


Microsoft Office Excel 2007

Hacer referencia a celdas en relación 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 más abajo y a tres columnas de la hoja de cálculo 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 continuación, en el botón Referencia
relativa en la barra de herramientas de grabación 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
fácilmente el rango utilizando el nombre de la variable.
El siguiente procedimiento crea la variable de objeto myRange y, a continuación,
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 SENATI-Computación e Informática


ción con VBA

Hacer referencia a todas las celdas de la hoja de cálculo


Al aplicar la propiedad Cells a una hoja de cálculo sin especificar un número de
índice, el método devuelve un objeto Range que representa todas las celdas de la
hoja de cálculo. 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 método apropiado puede hacer referencia fácilmente a varios
rangos. Utilice los métodos 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 cálculo.

Usar la propiedad Range


Puede hacer referencia a varios rangos con la propiedad Range, pero debe poner
comas entre dos o más 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 más
fácilmente con varios rangos.
El siguiente ejemplo funciona cuando los tres rangos con nombre están en la
misma hoja.
Sub BorrarNombres()
Range("MiRango, TLista, TValores").ClearContents
End Sub

Usar el método Union


Puede combinar varios rangos en un objeto Range utilizando el método Union.
El siguiente ejemplo crea un objeto Range denominado myMultipleRange, los
define como A1:B2 y C3:D4 y, a continuación, asigna el formato de negrita a los
rangos combinados.

SENATI-Computación e Informática 201


Microsoft Office Excel 2007

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 selección de varias áreas.
El siguiente procedimiento cuenta las áreas de la selección. Si existe más de un
área, se muestra un mensaje de advertencia.
Sub BusquedaMultiple()
If Selection.Areas.Count > 1 Then
MsgBox "Existe más de una area de selección…"
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
instrucción de repetición y uno o más métodos para identificar cada celda, una a
una, y ejecutar la operación.
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 número 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 número 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 SENATI-Computación e Informática


ción con VBA

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 método Range. Visual Basic
establece automáticamente 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 número 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 límites 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
cálculo, ejecuta un bucle en el rango que rodea la celda activa, estableciendo en 0
(cero) todos los números 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
continuación, realiza una acción, 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 fórmula en la celda D6 utilizando Visual Basic,
no es necesario seleccionar el rango D6. Sólo necesita devolver el objeto Range
y, a continuación, establecer la propiedad Formula en la fórmula 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 cómo utilizar métodos para controlar las celdas sin
seleccionarlas, consulte Cómo hacer referencia a celdas y rangos.

SENATI-Computación e Informática 203


Microsoft Office Excel 2007

Usar el método Select y la propiedad Selection


El método Select activa las hojas y los objetos de las hojas; la propiedad
Selection devuelve un objeto que representa la selección 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 continuación, seleccionar un rango, u otro
objeto, con el método Select.
La grabadora de macros suele crear una macro que utiliza el método Select y la
propiedad Selection.
El siguiente procedimiento Sub se creó utilizando la grabadora de macros, y
muestra cómo 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


cálculo 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 cálculo activa


Si utiliza el método Select para seleccionar celdas, recuerde que Select sólo
funciona en la hoja de cálculo activa. Si ejecuta el procedimiento Sub desde el
módulo, el método Select devuelve un error a menos que el procedimiento active
la hoja de cálculo antes de utilizar el método 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 SENATI-Computación e Informática


ción con VBA

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 selección


Puede utilizar el método Activate para activar una celda en una selección. Sólo
puede haber una celda activa, aunque se haya seleccionado un rango de celdas.
El siguiente procedimiento selecciona un rango y, a continuación, activa una
celda del rango sin cambiar la selección.
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 más de una hoja, utilice la función Array para
especificar dos o más 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 método FillAcrossSheets para transferir los


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

SENATI-Computación e Informática 205


Microsoft Office Excel 2007

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 métodos de un
objeto Range a la celda activa, como en el ejemplo siguiente.

Sub CeldaActiva1()

Worksheets("Hoja1").Activate

ActiveCell.Value = 35

End Sub
Nota. Sólo se puede trabajar con la celda activa cuando la hoja de cálculo en la
que se encuentra sea la hoja activa.

Mover la celda activa


Puede utilizar el método Activate para designar cuál es la celda activa. Por
ejemplo, el siguiente procedimiento convierte B5 en la celda activa y, a
continuación, 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 método Select. Para activar sólo
una celda, utilice el método 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 continuación, mueve la celda activa una celda a la derecha, sin cambiar la
selección.
Sub MoverDatos()
Worksheets("Hoja1").Activate
Range("A1:D10").Select
ActiveCell.Value = "Total Mensual"
ActiveCell.Offset(0, 1).Activate
End Sub

206 SENATI-Computación e Informática


ción con VBA

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 selección se amplía para incluir las celdas contiguas a
la celda activa que contiene datos. A continuación, 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 número de índice
Un número de índice es un número secuencial asignado a una hoja, según la
posición 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 cálculo uno del libro activo.
Sub SeleccionarHoja()
Worksheets(1).Activate
End Sub

Si desea trabajar con todos los tipos de hojas (hojas de cálculo, de gráficos, de
módulos y de diálogo), 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.

SENATI-Computación e Informática 207


Microsoft Office Excel 2007

Puede utilizar la propiedad Sheets para devolver una hoja de cálculo, de gráficos,
de módulo o de cuadro de diálogo, 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

Añadir módulos VBA


Para añadir módulos seguir el siguiente procedimiento.

1. Hacer clic en la ficha , botón

2. Se abre la ventana de Visual Basic, hacer clic en el menú , botón

3. Se presenta la ventana de programación de módulo.

Trabajar con UserForms


Para añadir formularios seguir el siguiente procedimiento.

1. Hacer clic en la ficha , botón

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

208 SENATI-Computación e Informática


ción con VBA

Botón
3. Se presenta la ventana de formulario

Uso de controles de formulario


A continuación 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 Opción necesariamente tienen que estar
agrupados por el control Marco. Para agrupar controles, dibuje primero el control
Marco y, a continuación, dibuje los controles dentro de Marco.

Propiedades
Caption Título 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 están
visibles o no.

Control Casilla de Verificación (CheckBox)


Las casillas de verificación se utilizan para proporcionar al usuario opciones de
tipo Si/No o Verdadero/Falso. Cuando el usuario selecciona una opción (activa la
casilla), aparece una marca de verificación () dentro de la casilla.

Propiedades
Caption Descripción que acompaña a la casilla.
Enabled True/False. Determina si está habilitado para responder a las
acciones del usuario.
Name Nombre del control.

SENATI-Computación e Informática 209


Microsoft Office Excel 2007

Value 0 – Unchecked (Vacío, 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 Botón de Opción (OptionButton)


Estos controles se utilizan para que el usuario seleccione una
opción de un grupo opciones. La opción seleccionada tiene un punto en el centro.

Propiedades
Caption Descripción que acompaña a la opción.
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
botón está visible
o no.
Eventos
Click Ocurre cuando el
usuario hace clic
sobre el botón.

210 SENATI-Computación e Informática


ción con VBA

Control Cuadro de Lista (ListBox)


Un control ListBox muestra una lista de elementos entre los cuales el
usuario puede seleccionar uno o más elementos. Si el número de elementos
supera el número que puede mostrarse, se agregará automáticamente 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 número total de elementos de
la lista. La propiedad ListIndex contiene el índice del elemento seleccionado, el
cual es un número entre 0 (primer elemento) y el número total de elementos en la
lista –1 (ListCount – 1). Si no se selecciona ningún elemento, el valor de la
propiedad ListIndex será –1.

La propiedad NewIndex contiene el índice del último elemento añadido a la lista.


Esto puede ser útil si desea hacer algo con el elemento añadido, 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 Número 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 lógicos paralelo y del mismo tamaño 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 los elementos se ordenan
alfabéticamente.
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
expresión List(ListIndex). Es de sólo lectura en tiempo de
diseño y es de sólo lectura en tiempo de ejecución.

Métodos
AddItem Permite añadir nuevos elementos a la lista.
RemoveItem Permite eliminar elementos de la lista.

SENATI-Computación e Informática 211


Microsoft Office Excel 2007

Eventos
Click Ocurre cuando el usuario interactúa con el control.

Ejemplos:
Muestra en el Cuadro de Texto
txtGaseosa el elemento seleccionado

Private Sub lstGaseosas_Click()


txtGaseosa.Text =
lstGaseosas.Text
End Sub

Añade 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 características de un control
TextBox y un control ListBox; los usuarios pueden introducir información en la
parte del cuadro de texto o seleccionar un elemento en la parte de cuadro de lista
del control.

212 SENATI-Computación e Informática


ción con VBA

Para agregar o eliminar elementos en un control ComboBox, se usa el método


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 diseño.

Propiedades
Enabled True/False. Determina si el control responde a las acciones del
usuario.
List Arreglo con los elementos de la lista.
ListCount Número de elementos de la lista
ListIndex Elemento seleccionado.
Name Nombre del control.
Sorted True/False. Establece si los elementos se ordenan
alfabéticamente.
Style Establece el comportamiento del control.
Text Texto que contiene el control.

Métodos
AddItem Permite añadir nuevos elementos a la lista.
RemoveItem Permite eliminar elementos de la lista.

Eventos
Click Ocurre cuando el usuario interactúa con el control
Change Ocurre cuando el valor de la propiedad Text es modificado.

Constante Valor Descripción

vbComboDropDown 0 (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 1 Cuadro combinado simple. Incluye un cuadro de


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

vbComboDrop- 2 Lista desplegable. Este estilo sólo permite la


DownList selección desde la lista desplegable.

SENATI-Computación e Informática 213


Microsoft Office Excel 2007

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 SENATI-Computación e Informática


ción con VBA

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 más simples de obtener información para y desde el usuario es
utilizando las funciones MagBox e InpuBox respectivamente.

Función MsgBox()
Los cuadros de mensaje ofrecen un modo simple y rápido de consultar a los
usuarios por información simple o para permitirles tomar decisiones sobre el
camino que su programa debe tomar. Puede usar esta función 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, "Confirmación")

Función InpuBox()
La función InputBox muestra un mensaje en un cuadro de diálogo, espera que el
usuario escriba un texto o haga clic en un botón y devuelve un tipo String con el
contenido del cuadro de texto.

strCodigo = InputBox("Ingrese el código del cliente a


buscar:","Búsqueda", "CLI0001")

Metodo GetOpenfilename , GetSaveAsFileName


Función GetOpenfilename ()
Este método nos permite desplegar el cuadro de dialogo abrir (del menu archivo)
pero no abre el archivo indicado.

SENATI-Computación e Informática 215


Microsoft Office Excel 2007

El método 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 números 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 determínalo que muestra el cuadro de
dialogo de los archivos del tipo lista desplegable. Consiste en pares de
series de filtro de archivo seguido del comodín 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 título. 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 SENATI-Computación e Informática


ción con VBA

'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

Función 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 método Add. El siguiente
procedimiento crea un nuevo libro. Microsoft Excel asigna automáticamente el

SENATI-Computación e Informática 217


Microsoft Office Excel 2007

nombre BookN al libro, donde N es el siguiente número 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 método 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 programación.

2. Crear un formulario aplicativo que permita ingresar una contraseña al abrir una
hoja de cálculo.

3. Crear un atajo que permita llamar a un formulario que contiene un calendario.

218 SENATI-Computación e Informática


ción con VBA

Ejercicios utilizando Macro, Formulario y VBA

Ejercicio 1: Números 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 número? (máximo 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

SENATI-Computación e Informática 219


Microsoft Office Excel 2007

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 número que indica el día de la semana
Rem dado por la función WEEKDAY, que en Excel es =DIASEM(fecha)
Static Fnacimiento As Date
Factual = Date 'Date es la función 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 & " días" & Chr(10) _
& "Tiene " & CalEdad(Fnacimiento) & " Años", _
Title:="Esta información es correcta siempre que hoy sea " & Factual
End Sub

220 SENATI-Computación e Informática


ción con VBA

'Función que calcula la edad en años


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 función 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 línea se utiliza para retrasar la ejecución 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

SENATI-Computación e Informática 221


Microsoft Office Excel 2007

Ejercicio 4: =PAGO

Option Explicit

Sub prestamo()
Static Principal 'Variable estática. 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 interés nominal anual (4,75 por ejemplo)", Default:=Tasa)
Terminos = Application.InputBox(Prompt:="Número de años (30 por ejemplo)",Default:=Terminos)
'Vea como se usa la función 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 Préstamos"
End Sub

Ejercicio 5: Listado de hojas

222 SENATI-Computación e Informática


ción con VBA

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

SENATI-Computación e Informática 223


Microsoft Office Excel 2007

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 SENATI-Computación e Informática


ción con VBA

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

SENATI-Computación e Informática 225


Microsoft Office Excel 2007

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 SENATI-Computación e Informática


ción con VBA

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 sólo los borra una vez. Si se repiten en C sólo 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
'Edición, 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

SENATI-Computación e Informática 227


Microsoft Office Excel 2007

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 SENATI-Computación e Informática


Capítulo

Funciones personalizadas
En este capítulo trataremos:

 Creación de funciones personalizadas con VBA


 Uso de controles ActiveX

SENATI-Computación e Informática 229


ersonalizas

Uso de módulos para Funciones


Los módulos permiten dividir un programa muy grande en partes mucho más pequeñas
y manejables.
La división de un programa en unidades más pequeñas o funciones presenta –entre
otras– las ventajas siguientes:
Ventajas
1. Modularización
Cada función tiene una misión muy concreta, de modo que nunca tiene un
número de líneas excesivo y siempre se mantiene dentro de un tamaño
manejable.
Una misma función puede ser invocada muchas veces en un mismo programa,
e incluso puede ser reutilizada por otros programas. Cada función puede ser
desarrollada y comprobada por separado.
2. Ahorro de memoria y tiempo de desarrollo
En la medida en que una misma función es utilizada muchas veces, el número
total de líneas de código del programa disminuye, y también lo hace la
probabilidad de introducir errores en el programa.
3. Independencia de datos y ocultamiento de información.
Una de las fuentes más 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 modificación para añadir una funcionalidad o
corregir un error, se introduzcan nuevos errores en partes del programa que antes
funcionaban correctamente.
Características
Una función es capaz de mantener una gran independencia con el resto del
programa, manteniendo sus propios datos y definiendo muy claramente la
interfaz o comunicación con la función que la ha llamado y con las funciones a
las que llama, y no teniendo ninguna posibilidad de acceso a la información que
no le compete.
La principal característica de una función es que ésta puede ser utilizada en una
expresión porque tiene un valor de retorno.

La sintaxis correspondiente a una función es la siguiente:


Function nombre ([parámetros]) [As tipo]
[sentencias]
[nombre = expresion]
[Exit Function]

SENATI-Computación e Informática 231


Microsoft Office Excel 2007

[sentencias]
[nombre = expresion]
End Function

A continuación se describe en un cuadro los elementos de la función

NOMBRES FUNCION

nombre Define el nombre de la función

Parámetros Son los argumentos que son pasados cuando se llama a la función.

As Tipo Define el tipo de dato que devuelve la función, pueden ser:


Boolean Lógico, devuelve dos valores True o False.
Numéricos Byte, Integer, Single, Double
String Aceptar caracteres alfanuméricos de Desde 1 a 65.400
aproximadamente
Variant Cualquier valor numérico, String.

Sentencias Es el código del programa en VBA.

expresión Valor de retorno de la función

Exit Function Permite salir de una función antes de que ésta finalice.

End Function Marca el final del código de la función.

Uso de argumentos en las funciones


Los argumentos son los parámetros que se pasan a la función.

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
definición de la función 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 SENATI-Computación e Informática


ersonalizadas

Argumentos arreglos
Para utilizar argumentos Array utilice la palabra ParamArray en la definición del
procedimiento, como por ejemplo:

Public Function maximo(ParamArray numeros())


For Each x in numerous
Sentencias
maximo = x
Next x
End Function

Ejecutar una función


Para ejecutar una función utilice la siguiente sintaxis:

= nombre([argumentos])

Donde argumentos son una lista de constantes, variables o expresiones separadas por
comas que son pasadas a la función.
En principio, el número de argumentos debe ser igual al número de parámetros de la
función.
Los tipos de los argumentos deben coincidir con los tipos de sus correspondientes
parámetros, de lo contrario puede haber fallos importantes en la ejecución del
programa.
En cada llamada a una función hay que incluir los paréntesis, aunque ésta no tenga
argumentos.
El siguiente ejemplo corresponde a una función que devuelve como resultado la raíz
cuadrada de un número 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 función se hace de la forma siguiente:

= Raiz(4)

SENATI-Computación e Informática 233


Microsoft Office Excel 2007

Recursividad
Se dice que una función
(Function) es recursiva si se
llaman a sí mismos.

A continuación se presenta
una ejemplo de una función
que calcula el factorial de un
número programada de
forma recursiva.

„Cálculo 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 función 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 función se llama a ella
misma, pero variando el argumento a (N-1), hasta llegar al punto en el que N-
1=0, finalizándose el proceso.

Para invocar a la función utilice =FACT(6)

Paso a Paso: Crear la función área del triangulo


1. Realizar una función que permita calcular el área del triángulo.
2. AREAT = ( B x H ) / 2

3. Hacer clic en la ficha , botón

4. Hacer clic en el menú , botón


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, Diseñar la siguiente hoja

7. En la celda B5 escribir la función: =AreaT (B3,B5)

234 SENATI-Computación e Informática


ersonalizadas

Controles Active X
Veamos veremos una serie de controles que le pueden brindar interactividad a nuestras
aplicaciones Excel
Los Controles ActiveX son objetos gráficos que se colocan en un formulario
(userforms) o en una determinada posición de la hoja de trabajo, con el objetivo de
mostrar, seleccionar o introducir (capturar) datos, para la realización de una acción
determinada (ej. ejecución 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 verificación, botones de comandos,
barras de desplazamiento u otros elementos.
A continuación se describe los Controles

1. Cuadro de Texto
Un Cuadro de Texto nos permite capturar información, la cual puede ser
numérica, alfabética o alfanumérica.

2. Botón de Comando
Este tipo de control es uno de los más conocidos. Entre otras cosas, este control
nos permite por ejemplo la ejecución de una macro, o marcar el inicio de la
realización de una determinada actividad previamente asignada o programada.

3. Casilla de Verificación
Una casilla de verificación es utilizada normalmente para capturar información
previamente estructurada. Normalmente se presentan en grupos y es posible
seleccionar más de una opción.

4. Botón de Opción
Un botón de opción en general presenta las misma características que un grupo
de casillas de verificación, sólo que en este caso no es posible seleccionar más de
una opción.
5. Cuadro Combinado
Su utilización es recomendable cuando la lista de opciones es bastante extensa.
Inclusive puede ser configurado para que mostrar un cierto número de opciones
solamente, debiendo desplazarse el usuario con la barra de desplazamiento que se
generará automáticamente 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 términos generales es prácticamente lo mismo que un cuadro

SENATI-Computación e Informática 235


Microsoft Office Excel 2007

combinado, sólo que no posee el menú desplegable, sino que es necesario


desplazarse a través de él con el cursor.

7. Botón o Control de Número


Este control puede ser usado para aumentar o disminuir el valor de un
determinado parámetro 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 según corresponda.

8. Botón de Alternar
Este botón puede ser utilizado para que el usuario seleccione o no una
determinada característica, ya que este control tiene la ventaja de que una vez
seleccionado permanece seleccionado, devolviendo el valor de Verdadero o Falso
según corresponda. Este botón además puede ser vinculado a una determinada
celda, en la cual devolverá el valor lógico anteriormente mencionado (verdadero
o falso).

Paso a Paso: Uso de control ActiveX - 1


1. Diseñar una aplicación que muestre en un control ListBox1 los números pares y
en un ListBox2 los números impares

2. Hacer clic en la ficha , botón

3. Hacer clic en el menú , botón y diseñar el formulario


mostrado a continuación.

236 SENATI-Computación e Informática


ersonalizadas

4. Hacer clic en el menú , botón y escriba el siguiente


programa
General 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. Diseñar una aplicación que permita ingresar los siguientes datos a controles
TextBox: Nombres, Apellidos, Dirección, teléfono 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.

SENATI-Computación e Informática 237


Microsoft Office Excel 2007

2. Hacer clic en la ficha , botón

3. Hacer clic en el menú , botón y diseñar el


formulario mostrado a continuación.

Hacer clic en el menú


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

4. Hacer clic en el menú , botón . Edite el siguiente


código
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 SENATI-Computación e Informática


ersonalizadas

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ú , botón y escriba el siguiente


programa

General 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

SENATI-Computación e Informática 239


Microsoft Office Excel 2007

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 SENATI-Computación e Informática


ersonalizadas

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. Diseñar una aplicación que permita mostrar el cuadro de desembolsos de un
préstamo, dado a un determinado número de periodos y tasa de interés,
aplicando el cálculo de la amortización con el método Alemán. Así mismo se
debe dar consistencia al ingreso de datos numéricos.
2. Fórmulas a utilizar.
Préstamo = Préstamo período anterior – Amortización
Saldo = Saldo anterior – Amortización
Interés = Saldo del período * Tasa de interés
Cuota = Amortización + Interés

3. Hacer clic en la ficha , botón

4. Hacer clic en el menú , botón y diseñar el formulario


mostrado a continuación.

Hacer clic en el menú


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

SENATI-Computación e Informática 241


Microsoft Office Excel 2007

5. Hacer clic en el menú , botón y escriba el siguiente programa

General Declaraciones „Permite dar consistencia al ingreso de datos numéricos


Public Sub IngNumero(ByVal KeyAscii As MSForms.ReturnInteger)
If (KeyAscii >= 48 And KeyAscii <= 56) Then
Ascii 48 =0
Exit Sub
Ascii 57 = 9
Else Si el carácter ingresado
KeyAscii = 0 no es número, se impide
el ingreso del caracter
End If
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) Asigna como No.de
xperiodos = Val(TextBox3.Text) filas del control
FlexGrid, el número
xamortiza = xcapital / xperiodos de periodos

MSFlexGrid1.Rows = Val(TextBox3.Text) + 1
For f = 1 To Val(TextBox3.Text) Crea un ciclo
repetitivo de 1 hasta
MSFlexGrid1.TextMatrix(f, 1) = f 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 SENATI-Computación e Informática


ersonalizadas

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


Private Sub UserForm_Activate() para el FlexGrid.

MSFlexGrid1.Cols = 6
MSFlexGrid1.TextMatrix(0, 1) = "No."
MSFlexGrid1.TextMatrix(0, 2) = "Amortización"
MSFlexGrid1.TextMatrix(0, 3) = "Saldo"
MSFlexGrid1.TextMatrix(0, 4) = "Interés"
MSFlexGrid1.TextMatrix(0, 5) = "Cuota"
End Sub

Paso a Paso: Uso de control ActiveX - 4


1. Diseñar una aplicación que permita asignara puntajes al azar a 10
participantes a un concurso de belleza, se evalúan por 4 criterios: Belleza,
inteligencia, cuerpo, desenvolvimiento. Los puntajes están entre 1 y 10 por
cada criterio. Al final mostrar el número de la participante ganadora y su
puntaje

2. Hacer clic en la ficha , botón

SENATI-Computación e Informática 243


Microsoft Office Excel 2007

3. Hacer clic en el menú , botón y diseñar el


formulario mostrado a continuación.

Control ListBox1

4. Hacer clic en el menú , botón y escriba el siguiente


programa

General 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

'Generación de los puntajes aleatorios


For candidata = 1 To 12

244 SENATI-Computación e Informática


ersonalizadas

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

SENATI-Computación e Informática 245


Microsoft Office Excel 2007

Cuestionarios

1. Qué es una función.

2. Qué es un Control Active X.

__

3. Considera útil la creación de funciones personalizadas.

4. Crear una función que permite determinar si un año es bisiesto.

5. Crear una función que permita determinar la edad de una persona.

246 SENATI-Computación e Informática


PROPIEDAD INTELECTUAL DEL SENATI PROHIBIDA
SU REPRODUCCIÓN Y VENTA SIN LA AUTORIZACIÓN
CORRESPONDIENTE
SERVICIO NACIONAL DE ADIESTRAMIENTO EN TRABAJO INDUSTRIAL

TÉCNICOS Y
ADMINISTRADORES
INDUSTRIALES

FASCÍCULO DE APRENDIZAJE

COMPUTACIÓN E
INFORMÁTICA
Parte II

CÓDIGO: 89001211
Tabla de Contenido
MEJORANDO LA PRESENTACIÓN Y VISUALIZACIÓN DE LOS DATOS CON
FORMULARIOS ..................................................................................................................... 1
Conceptos previos………………………………………………………………………………2
ASISTENTE PARA FORMULARIOS Y AUTOFORMULARIOS ............................................................. 16
Actividad 1: Crear Formulario usando asistente............................................................... 19
PROPIEDADES DEL FORMULARIO ............................................................................................. 21
Propiedades de Formato................................................................................................. 21
Propiedades de Datos..................................................................................................... 22
Actividad 2: Formulario sin acceso a datos.................................................................... 25
AUTOFORMATO ................................................................................................................... 27
VISTAS: FORMULARIO, PRESENTACIÓN Y DISEÑO.................................................................... 28
EDITAR CONTROLES ............................................................................................................ 31
Seleccionar controles.................................................................................................... 32
Cambiar las dimensiones .............................................................................................. 34
Ajustar .......................................................................................................................... 34
Mover ........................................................................................................................... 34
Alinear .......................................................................................................................... 35
Eliminar controles ......................................................................................................... 35
Agregar controles.......................................................................................................... 35
Propiedades de los controles ........................................................................................ 42
Cuadros combinados .................................................................................................... 44
Actividad 3: Insertar una etiqueta .................................................................................. 53
Actividad 4: Editar los controles de un formulario .......................................................... 53
Actividad 5: Agregar etiquetas, cajas de texto y fichas................................................... 54
FORMULARIOS CONTINUOS ................................................................................................... 56
Actividad 6: Crear un formulario continuo ...................................................................... 56
Pie de formulario........................................................................................................... 56
Encabezado de formulario ............................................................................................ 58
Actividad 7: Cuadro combinado en el encabezado ........................................................ 58
SUBFORMULARIOS ............................................................................................................... 59
Actividad 8: Subformulario creado manualmente ........................................................... 60
Utilizar el asistente para Subformularios/Subinformes Campos vinculados entre
formulario padre y formulario hijo .................................................................................. 61
Actividad 9: Subformulario empleando el asistente para formularios.............................. 64
Modificar el diseño del subformulario ............................................................................ 64
PREGUNTAS DE REPASO ...................................................................................................... 64
Actividad propuesta 1 ...................................................................................................... 65
EJERCICIOS CASOS PROPUESTOS......................................................................................... 65
Actividad propuesta 2 ...................................................................................................... 66
Actividades de investigación............................................................................................. 67

UTILIDADES ........................................................................................................................ 69

FORMAS DE ABRIR UNA BASE DE DATOS ................................................................................. 70


SEGURIDAD ........................................................................................................................ 74
Cifrar una Base de Datos mediante contraseña............................................................. 77
Descifrar una base de datos.......................................................................................... 78
Quitar contraseña de una Base de Datos ...................................................................... 78
Uso del centro de confianza .......................................................................................... 79
COMPACTAR Y REPARAR UNA BD.......................................................................................... 80
CONVERTIR A OTRAS VERSIONES .......................................................................................... 82
Los formatos ACCDB y MDB ........................................................................................ 84
Convertir una base de datos al formato de archivos de Access 2007............................. 85
PREGUNTAS DE REPASO ...................................................................................................... 86
TRABAJANDO CON DATOS EXTERNOS ........................................................................... 87

IMPORTAR .......................................................................................................................... 89
Access.......................................................................................................................... 89
Excel ............................................................................................................................ 90
Lista de SharePoint....................................................................................................... 93
Archivo de texto ............................................................................................................ 96
Actividad 1 : Importar de un Archivo de Texto............................................................... 97
Archivo XML ................................................................................................................. 100
EXPORTAR ......................................................................................................................... 102
Excel ............................................................................................................................ 103
Un archivo RTF de Word............................................................................................... 107
Lista de SharePoint....................................................................................................... 107
Archivo de texto ............................................................................................................ 109
Archivo XML ................................................................................................................. 111
PREGUNTAS DE REPASO ...................................................................................................... 112
EJERCICIOS CASOS PROPUESTOS......................................................................................... 112

MACROS Y OPCIONES DE INICIO ...................................................................................... 113

BOTONES DE COMANDO EN FORMULARIOS ........................................................................... 114


El asistente para controles .......................................................................................... 114
MACROS .......................................................................................................................... 115
Asignar macros a controles en formularios .................................................................. 126
Macro Autoexec.......................................................................................................... 128
OPCIONES DE EXPLORACIÓN............................................................................................... 115
Crear Categorías ........................................................................................................ 130
Cambiar entre categorías............................................................................................ 136
Ordenar categorías ..................................................................................................... 137
Vistas ......................................................................................................................... 137
OPCIONES DE LA BASE DE DATOS ........................................................................................ 137
Formulario o página inicial .......................................................................................... 137
Agregar barra de menús personalizada. ...................................................................... 139
Actividad propuesta 1 .................................................................................................... 144
PREGUNTAS DE REPASO .................................................................................................... 144
EJERCICIOS CASOS PROPUESTOS....................................................................................... 144

PROGRAM ACIÓN CON VBA ............................................................................................. 145

USO DE VBA EN ACCESS ................................................................................................... 147


Actividad 1: Crear un Formulario ................................................................................. 148
Actividad 2: Uso de la ventana Inmediato .................................................................... 157
Actividad 3: Uso de Variables...................................................................................... 160
Actividad 4: Uso de Procedimientos y Funciones ........................................................ 163
Actividad 5: Funciones en Formularios ........................................................................ 168
Declaracion de Variables ............................................................................................ 173
Estructuras de Control. ............................................................................................... 183
Estructuras de Decisión. ............................................................................................. 183
Estructuras de Bucle. .................................................................................................. 188
Errores en Tiempo de Diseño...................................................................................... 201
Errores en Tiempo de Ejecución ................................................................................. 202
Tipos de Operadores .................................................................................................. 203
EDITANDO EL CÓDIGO DE LAS MACROS DE ACCESS ............................................................... 214
Código frente a macros............................................................................................... 214
Los modelos de objetos de Access ............................................................................. 216
USO DE CONTROLES ACTIVE X ............................................................................................ 223
Agregando controles en el Formulario ......................................................................... 223
Editando el código de los controles ActiveX ................................................................ 226
Microsoft Data Access Objects (DAO) ......................................................................... 230
Microsoft Jet Replication Projects (JRO) ..................................................................... 232
Microsoft ActiveX Data Objects (ADO) ........................................................................ 233
PREGUNTAS DE REPASO .................................................................................................... 234
EJERCICIOS CASOS PRACTICOS .......................................................................................... 235
Capítulo

Mejorando la presentación y visualización


de los datos con Formularios en ACCESS
En este capítulo trataremos:

 Crear formularios.
 Utilizar el asistente de formularios.
 Modificar las propiedades de los formularios
 Agregar campos a un formulario y modificar
sus propiedades

SENATI-Computación e Informática 1
Conceptos Previos:

Una base de datos es un “gran almacén de datos” que nos permite guardar grandes
volúmenes de información de forma organizada para que luego podamos ubicar
y utilizar estos datos de forma fácil y eficiente.
Una base de datos o banco de datos (Database en Ingles) es un conjunto de
datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su
posterior uso. En este sentido, una biblioteca puede considerarse una base de datos
compuesta en
su mayoría por documentos y textos impresos en papel e indexados para su consulta.
En la actualidad, y desde el punto de vista informático la base de datos es un sistema
formado por un conjunto de datos almacenados en discos (formato digital) que permiten
el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de
datos.

Descripción y visualización general de los múltiples


elementos de las Bases de Datos de Access
Archivos de base de datos de Access

Puede utilizar Access para administrar todos sus datos en un solo archivo. Dentro de un
archivo de base de datos de Access, puede utilizar:
 Tablas para almacenar los datos.
 Consultas para buscar y recuperar exactamente los datos que desee.
 Formularios para ver, agregar y actualizar datos en las tablas.
 Informes para analizar o imprimir los datos con un diseño específico.

2 SENATI-Computación e Informática
Todos estos elementos: tablas, consultas, formularios e informes son objetos de bases de
datos (objetos de base de datos: una base de datos de Access contiene objetos como
tablas, consultas, formularios, informes, macros y módulos. Un proyecto de Access
contiene objetos como formularios, informes, macros y módulos.).
Nota: Algunas bases de datos de Access contienen vínculos a tablas que están
almacenadas en otras bases de datos. Por ejemplo, puede tener una base de datos de
Access que no contenga nada más que tablas y otra base de datos de Access que
contenga vínculos a esas tablas, así como consultas, formularios e informes basados en
las tablas vinculadas. En la mayoría de los casos, no tiene importancia si se trata de una
tabla vinculada o si está realmente almacenada en la base de datos.

Tablas
Una tabla es una colección de datos sobre un tema específico, como alumnos,
profesores, vehículos, distritos, productos o proveedores. La utilización de una tabla
diferente para cada tema, significa que se almacenan los datos una sola vez, lo cual
aumenta la eficacia de la base de datos, y reduce errores de entrada de datos.
No debe almacenar información de dos temas diferentes en la misma tabla.
Imagine que usted administra una cadena de tiendas que posee cinco locales de venta y
desea modificar el precio de un producto. Si los datos están centralizados usted sólo
tendrá que cambiar el precio una vez y ese cambio se verá reflejado en todos los
establecimientos. De lo contrario tendrá que ir de tienda en tienda haciendo las
modificaciones.
Las tablas organizan datos en columnas (denominadas campos) y filas (denominadas
registros). Tal como se muestra a continuación.
Campo
Componente de una tabla que contiene un elemento específico de información,
como por ejemplo un apellido. Un campo se representa como una columna.

SENATI-Computación e Informática 3
Registro
Es una colección de información acerca de cualquier entidad, ya sea
persona, producto, proveedor, o cualquier otra cosa. Cada registro en una tabla
contiene el mismo conjunto de campos. Se puede afirmar que un registro
se confirma de campos.
Un error muy frecuente es guardar el nombre del vendedor, el nombre
del cliente, la dirección del cliente y los productos que llevó en la misma
tabla. Debe utilizarse diferentes tablas para guardar la información de
los vendedores, clientes, y productos. Luego se guardarán los códigos que
identifican de forma única a cada vendedor y cliente en la tabla facturas,
nunca sus nombres. Luego se relacionarán las tablas para obtener la
información necesitada. Respecto a los productos, estos deben guardarse en
otra tabla de detalles de facturación, junto con las cantidades pedidas y los
precios a la fecha de la compra.

4 SENATI-Computación e Informática
Consultas
Una consulta puede ayudarle a recuperar los datos que cumplen las condiciones que
especifique, incluidos los datos de varias tablas. También puede utilizar una consulta
para actualizar o eliminar varios registros a la vez y realizar cálculos predefinidos o
personalizados con los datos.

SENATI-Computación e Informática 5
Formularios
Se puede utilizar un formulario para ver, introducir o cambiar los datos de filas de una
en una fácilmente. También se puede utilizar un formulario para realizar otras acciones,
como enviar datos a otra aplicación.

Los formularios contienen normalmente controles que están vinculados a campos


subyacentes de las tablas. Al abrir un formulario, Access recupera los datos de una o
más tablas y los muestra en el diseño que haya elegido al crear el formulario. Puede
crear un formulario mediante uno de los comandos Formulario de la cinta de opciones,
el Asistente para formularios, o crear su propio formulario en la vista Diseño.

6 SENATI-Computación e Informática
I
Informes
Los informes se pueden utilizar para analizar rápidamente los datos o presentarlos de
una forma concreta, impresos o en otros formatos. Por ejemplo, puede enviar a un
colega un informe que clasifique los datos y calcule los totales. O puede crear un
informe con los datos de la dirección en un formato para imprimir etiquetas postales.

Macro
Puede crear una macro (macro: acción o conjunto de acciones utilizados para
automatizar tareas.) para realizar un conjunto específico de acciones (acción:
componente básico de una macro; instrucción independiente que se puede combinar con
otras acciones para automatizar tareas. A veces se denomina comando en otros
lenguajes de macros.), y puede crear un grupo de macros (grupo de macros: colección
de macros relacionadas que se almacenan juntas bajo un único nombre de macro. A
menudo, se hace referencia a la colección simplemente como una macro.) Para realizar
conjuntos de acciones relacionadas.

SENATI-Computación e Informática 7
En Microsoft Office Access 2007, las macros pueden estar incluidas en objetos de
macro (que a veces reciben el nombre de macros independientes) o incrustadas en las
propiedades de evento de formularios, informes o controles. Las macros incrustadas
forman parte del objeto o control en el que están incrustadas. Los objetos de macro se
pueden ver en el panel de exploración, bajo Macros, pero no ocurre lo mismo con las
macros incrustadas.

Ejemplo del diseño de una macro.

Módulos
Un módulo es una colección de declaraciones y procedimientos de Visual Basic para
aplicaciones que se almacenan juntos en un objeto denominado módulo. Se requiere
conocimientos de programación en Visual Basic.

8 SENATI-Computación e Informática
C
r
Crear una base de datos en blanco
1. En la página Introducción a Microsoft Office Access, en Nueva base de datos en
blanco, haga clic en Base de datos en blanco.
2. En el panel Base de datos en blanco, escriba un nombre de archivo en el cuadro
Nombre de archivo. Si no especifica una extensión de nombre de archivo,
Access la agrega automáticamente. Para cambiar la ubicación predeterminada
del archivo, haga clic en Buscar una ubicación donde colocar la base de datos
(situado junto al cuadro Nombre de archivo), busque la nueva ubicación y,
a continuación, haga clic en Aceptar.

3. Haga clic en Crear. Access crea la base de datos con una tabla vacía
denominada Tabla1 y, a continuación, abre Tabla1 en la vista Hoja de datos. El
cursor se sitúa en la primera celda vacía de la columna Agregar nuevo campo.
4. Comience a escribir para agregar datos o puede pegar datos de otro origen.

Escribir información en la vista Hoja de datos es muy similar a trabajar en una hoja de
cálculo de Microsoft Office Excel 2007. La estructura de la tabla se crea conforme se

SENATI-Computación e Informática 9
escriben los datos: cuando se agrega una nueva columna a la tabla, se define un nuevo
campo. Access define automáticamente el tipo de datos de cada campo en función de
los datos que escribe.
Si, de momento, no desea incluir información en Tabla1, haga clic en Cerrar .
Si realizó cambios en la tabla, Access le pedirá que guarde los cambios efectuados
en la tabla. Haga clic en Sí para guardar los cambios, haga clic en No para
descartarlos o haga clic en Cancelar para dejar la tabla abierta.
Importante Si cierra Tabla1 sin guardar los cambios al menos una vez, Access
elimina toda la tabla, aunque haya escrito datos en ella.

Crear tablas en la Vista Diseño de la tabla


Desde esta opción podremos definir todos los campos de la tabla detalladamente
con todas sus características. Esta opción le da más control al usuario sobre la tabla
que define y, por tanto, la opción que vamos a utilizar en este capítulo para crear las
tablas de nuestras bases de datos.

De nuestro anterior ejemplo hacer Clic Derecho sobre la


ficha Tabla1 y pulse sobre Cerrar Todo y luego no
guarde los cambios. Luego ir a la ficha Crear, grupo
Tablas y hacer Clic sobre el comando Diseño de tabla.
Luego MS Access despliega la siguiente interface:

10 SENATI-Computación e Informática
C
Creación de Campos
Los elementos de información de los que se desea realizar un seguimiento se almacenan
en campos (denominados también columnas). Por ejemplo, en una tabla Contactos
podría crear campos para el apellido, el nombre, el número de teléfono y la dirección,
entre otros. Para una tabla Productos, podría crear campos para el nombre del producto,
el identificador de producto y el precio.

Es importante elegir los campos con cuidado. Por ejemplo, no es recomendable crear un
campo para almacenar un campo calculado; es mejor dejar que Office Access
2007 calcule el valor cuando sea necesario. Cuando elija los campos, intente
almacenar la información en sus partes más pequeñas posibles. Por ejemplo, en lugar
de almace nar un nombre completo, es preferible almacenar el apellido y el nombre por
separado. Por regla general, si necesita realizar informes, ordenar o realizar búsquedas
o cálculos con un elemento de información, ponga ese elemento en una columna
independiente.
Un campo tiene determinadas características que lo definen. Por ejemplo, cada campo
tiene un nombre que lo identifica inequívocamente dentro de la tabla. También tiene
un tipo de datos en consonancia con la información que almacena. El tipo de
datos determina los valores que se pueden almacenar y las operaciones que se pueden
realizar, así como la cantidad de espacio de almacenamiento provista para cada
valor. Cada campo tiene también un grupo de opciones denominadas propiedades
que definen las características formales o funcionales del campo. Por ejemplo, la
propiedad Formato define el formato de presentación del campo, es decir, qué
apariencia tendrá cuando se muestre.

Condición para las relaciones


Uno de los objetivos de un buen diseño de base de datos es eliminar la redundancia
de los datos (datos duplicados). Para lograr dicho objetivo, conviene desglosar los
datos en muchas tablas basadas en temas para que cada hecho esté representado sólo
una vez. A continuación, se debe proporcionar a MS Access los medios para recopilar
de nuevo la información desglosada (esto se realiza colocando campos comunes en
tablas que están relacionadas). Sin embargo, para realizar este paso correctamente,
primero deberá comprender las relaciones existentes entre las tablas y, a
continuación, especificar dichas relaciones en la base de datos de MS Access.
Tras crear una tabla para cada tema en la base de datos, es preciso proporcionar a
MS Access los medios para recopilar de nuevo esa información cuando sea necesario.
Para ello, se colocan campos comunes en las tablas que están relacionadas y se
definen las relaciones entre las tablas. De ese modo, se pueden crear consultas,
formularios e informes que muestren a la vez la información de varias tablas.
Por ejemplo, el formulario que se muestra a continuación incluye información
recopilada de varias tablas:

SENATI-Computación e Informática 11
1. Tabla Clientes
2. Tabla Vendedor
3. Tabla Pedidos
4. Tabla Productos
5. Tabla Detalles del Pedido
El nombre de cliente del cuadro Facturar a se obtiene de la tabla Clientes, los datos
del vendedor de la tabla Empleados, los valores de Id. de pedido y Fecha de
pedido proceden de la tabla Pedidos, el nombre de producto viene de la tabla
Productos, y los valores Precio por unidad y Cantidad proceden de la tabla Detalles
del pedido. Estas tablas se vinculan entre sí de varias formas para recopilar
información de cada una e incorporarla al formulario.

Imagine que tiene una tabla de productos y otra de pedidos. En una base de datos
correctamente estructurada, la primera tabla contendrá toda la información
concerniente a los productos (descripciones, medidas y todas las especificaciones que
desee) mientras que en la segunda se representará a los productos solamente por medio
de un identificador.
No es necesario que incluya más información pues si usted puede distinguir cuál es
el producto entonces podrá consultar todos sus detalles en la primera tabla.
En el ejemplo anterior las tablas Producto y Pedido estarán relacionadas a través del
identificador del producto. En la primera tabla esta columna será la clave principal y
en la segunda será considerada una clave foránea.
Es una buena costumbre emplear un mismo prefijo para todos los campos de una
tabla sin embargo las claves foráneas no deberían seguir esta regla. Por ejemplo, dos
de los campos de la tabla Producto pueden ser IdProducto y DetalleProducto mientras
que los campos de la tabla Pedido podrían ser IdPedido, FechaDeEntrega, IdProducto
y CantidadPedida.

12 SENATI-Computación e Informática
O
t

Otra alternativa correcta sería colocar IdPedido, FechaDeEntrega,


IdPedidoProducto, CantidadPedida. Esto para evitar duplicar el nombre los nombres
de campo en la base de datos, de tal manera que si se hace referencia al código de
producto en la tabla Producto se utilice IdProducto y para hacer referencia al código
del producto en la tabla Pedido se utilice IdPedidoProducto. En realidad debe tratar de
buscar un mismo criterio y aplicarlo a través de todas las tablas.
En los ejemplos subsiguientes se utilizará la primera sugerencia (IdPedido,
FechaDeEntrega, IdProducto y CantidadPedida)

A la tabla que contiene a la clave principal se le llama tabla principal y a la que contiene
la clave foránea se le denomina tabla secundaria.
Otras consideraciones para crear relaciones:
1. Debe haber un campo común en ambas tablas
2. Uno de las campos comunes debe ser clave principal, no olvide que un campo
clave principal no puede ser: Un campo de búsqueda de Objeto OLE, Memo,
Datos Adjuntos o Varios valores.
3. Los campos comunes podrían tener o no el mismo nombre de campo, pero no
pueden diferir en el tipo de dato.

Crear relaciones
Se puede crear una relación de tabla mediante la ventana Relaciones o arrastrando
un campo en una hoja de datos desde el panel Lista de campos. Cuando se crea
una relación entre tablas, los campos comunes no tienen que tener los mismos
nombres, si bien sus nombres suelen coincidir. Sin embargo, dichos campos tienen
que tener el mismo tipo de datos.

SENATI-Computación e Informática 13
No obstante, si el campo de clave principal es un campo Autonumérico, el
campo de clave externa puede ser un campo de tipo Número si la propiedad
Tamaño del campo de ambos campos tiene el mismo valor. Por ejemplo, puede
hacer coincidir un campo Autonumérico y un campo de tipo Número si la
propiedad Tamaño del campo de ambos campos es Entero largo. Cuando ambos
campos comunes son campos de tipo Número, tienen que tener el mismo valor para la
propiedad Tamaño del campo.

Crear una relación de tabla mediante la ventana Relaciones


Para nuestro ejemplo trabajaremos con la base de datos Control de Pedidos de la carpeta
capitulo 3, si es que no estaba activa, abrir la base
de datos, luego:
1. En el grupo Mostrar u ocultar de la
ficha Herramientas de base de datos,
haga Clic en Relaciones.

2. Si aún no ha definido
ninguna relación, aparecerá
automáticamente el cuadro
de diálogo Mostrar tabla. Si
no aparece, en la ficha Diseño,
en el grupo Relaciones, haga
clic en Mostrar tabla.
En el cuadro de diálogo
Mostrar tabla se muestran
todas las tablas y consultas
de la base de datos. Para
ver únicamente las tablas, haga
clic en Tablas. Para ver
únicamente las consultas,
haga clic en
Consultas. Para ver las tablas y las consultas, haga clic en Ambas.

3. Luego de seleccionar las tablas y aceptar se muestra la ventana relaciones con


las listas de campos de las tablas seleccionadas

4. Al mostrarse las tablas en la ventana Relaciones, usted verá que en cada una de
ellas la clave principal se muestra en negrita y el icono de una llave al costado.
5. Cree la relación arrastrando la clave principal de la tabla Principal hasta la clave
foránea de la tabla secundaria o viceversa. Por ejemplo, en la ilustración
anterior, se puede arrastrar el campo IdCliente de la tabla Cliente hasta
el campo IdCLiente de la tabla Pedido.

14 SENATI-Computación e Informática
6. Después de haber efectuado el arrastre se mostrará el cuadro de diálogo:

7. Active la exigencia de integridad referencial y hacer Clic en el botón Crear.

8. El gráfico anterior muestra la relación de uno a varios entre las tablas Cliente y
Pedido.
9. Continúe con las demás relaciones de tal modo que obtengamos un resultado
como se muestra en la siguiente grafica:

SENATI-Computación e Informática 15
Asistente para Formularios y Autoformularios
Los formularios constituyen la interfaz más común entre el usuario y los datos
contenidos en las tablas. A través de ellos se puede presentar los datos en forma
jerárquica atendiendo a las relaciones que existen entre las tablas. También pueden
incluirse controles que muestren imágenes propias de cada registro e incluso es posible
crear formularios que no muestren registros pero que permitan “navegar” ent re los
distintos objetos que posea la base de datos
Uno de los caminos más cortos para crear formularios es emplear el asistente para
formularios. Para hacer uso de él ejecute el siguiente procedimiento:
1. Haga clic en la ficha Crear, en la Cinta Formularios, Opción Mas
Formularios y elegir Asistente para Formularios.

2. Al iniciar el asistente, seleccione la tabla o consulta desde la que serán


tomados los datos. Si los datos que necesita ver en el formulario se encuentran
en dos o más tablas, puede crear primero una consulta que las relacione y
después crear el formulario.

16 SENATI-Computación e Informática
Formularios

3. Seleccione los campos que desea incluir en el formulario. Para esto usted
puede:
Hacer doble clic convenientemente en cada uno de los campos de la lista
izquierda.
También puede seleccionar un campo y luego emplear el botón >.
Si desea seleccionar todos los campos, haga uso del botón >>.
Para deseleccionar campos haga doble clic en los elementos de la lista
derecha o emplee los botones < o <<.

4. Haga clic en el botón Siguiente cuando termine.


5. Escoja la distribución que tendrán los campos en el formulario y haga clic en el
botón Siguiente.

SENATI-Computación e Informática 17
6. Indique cuál será el estilo que desea emplear. El estilo afectará el aspecto de
los
objetos así como la combinación de colores. Haga clic en el botón Siguiente.

7. Dé el nombre al formulario y finalice la acción con el asistente.

En el Asistente para formularios es posible seleccionar más de una tabla o


consulta. Procediendo de esta forma se puede crear de modo automático una
consulta (invisible para el usuario) entre las tablas o consultas que haya
seleccionado. A fin de hacer esta acción, Access vincula dichos objetos
empleando las definiciones establecidas en la ventana de relaciones; si usted
no había relacionado las tablas o consultas que seleccionó como origen de
datos, Access no podrá ejecutar la acción.

18 SENATI-Computación e Informática
Formularios

Actividad 1: Crear Formulario usando asistente


En la base de datos PersForm, usted creará un formulario que muestre los datos de la
tabla Empleados de modo que se muestre como se aprecia en la siguiente ilustración:

Formulario Empleados
Procedimiento
1. Haga clic en la ficha Crear, en la Cinta Formularios, Opción Mas
Formularios y elegir Asistente para Formularios.
2. En el primer paso del asistente seleccione la tabla Empleados y luego haga clic
en el botón > a fin de indicar que todos los campos de la tabla sean mostrados
en el formulario tal como se muestra en la siguiente imagen:

SENATI-Computación e Informática 19
Microsoft Office

3. Haga clic en el botón Siguiente.


4. Al mostrarse la lista de distribuciones haga clic en el botón de opción En
columnas y luego active el botón Siguiente.

Distribución del formulario

5. Haga clic en el estilo Access 2007 y luego active el botón Siguiente.

Selección del estilo

6. Se le sugiere Empleados como título del formulario; déjelo así y haga clic en el
botón Finalizar.
7. Cierre el formulario.

20 SENATI-Computación e Informática
Formularios

Propiedades del formulario

Propiedades de Formato

c
b

SENATI-Computación e Informática 21
Microsoft Office

a. Título: El título que será mostrado en la barra de título del formulario.


Aunque el nombre del formulario suele ser igual a esta propiedad, es posible
que estos dos valores sean distintos (el nombre del formulario se puede
modificar en la ventana de objetos de la base de datos)
b. Vista predeterminada: Los formularios, así como las vistas, tienen
múltiples vistas; entre ellas están: Un único formulario, Formularios
continuos y la vista Hoja de datos. Usted puede definir cuál de ellas será la
que se emplee cuando se abra el formulario
c. Barras de desplazamiento: Es posible establecer si mostrada la barra de
deslazamiento horizontal o vertical cuando el tamaño de la ventana del
formulario sea más pequeño que el definido para él.
d. Selector de registro: El selector de registros es un control propio del
formulario que permite seleccionar uno de los registros de los formularios. Es
principalmente útil cuando se muestran múltiples registros al mismo
tiempo.
e. Botones de desplazamiento: Estos controles permiten desplazarse a través de
los registros tal como se hace en la vista Hoja de datos.
f. Imagen: A través de esta propiedad se puede especificar una imagen par a
que se presente en el fondo del formulario.
g. Tipo de imagen: Usted puede indicar que la imagen esté incrustada o
vinculada al formulario. En el primer caso la imagen se añade al archivo de
la base de datos. En el segundo, se mantendrá como un archivo
independiente.

Propiedades de Datos
Para definir propiedades de un formulario realice las siguientes acciones:
1. Abra el formulario en vista diseño. Puede hacer clic derecho sobre él y activar
Botón Hoja de el comando Vista diseño.
Propiedades

22 SENATI-Computación e Informática
Formularios

2. Haga clic en la ficha Diseño, Cinta de opciones Herramientas y luego Hoja de


Propiedades.

Al presentársele la Hoja de propiedades, despliegue el primer cuadro


combinado y seleccione Formulario. Las propiedades están organizadas en
fichas a fin de facilitar su ubicación

SENATI-Computación e Informática 23
Microsoft Office

b
c
c

a. Origen de registros
Es la tabla o consulta desde la cual se extraen los datos para ser mostrados en
el formulario. Esta propiedad puede ser modificada empleando el Generador
de Expresiones
Personalizar con el generador de expresiones

b. Permitir Agregar
Indica si el formulario permitirá al usuario añadir registros.
c. Permitir Editar
Indica si el formulario permitirá al usuario actualizar registros.
d. Permitir Eliminar
Indica si el formulario permitirá al usuario eliminar registros.

24 SENATI-Computación e Informática
Formularios

Actividad 2: Formulario sin acceso a datos


En la base de datos PersForm creará un formulario como el que se muestra a
continuación:

Procedimiento
1. Hacer clic en la ficha Crear, luego la cinta Formularios, luego Formulario en
Blanco.

2. Luego haga click en la Vista Diseño

3. Active la Hoja de propiedades y defina las siguientes propiedades en ella:

SENATI-Computación e Informática 25
Microsoft Office

Propiedad Valor

Título Bienvenido

Vista predeterminada Un único formulario

Permitir vista Formulario Sí

Barras de desplazamiento Ninguna

Selectores de registros No

Botones de desplazamiento No

Selectores de registro No

Botones de desplazamiento No

Separadores de registro No

Botones Maximizar y Minimizar Ninguno

Botón Cerrar Sí

Imagen Logo_Senati

Para establecer la imagen haga clic en la propiedad que tiene este nombre, verá
un botón que muestra tres puntos y luego haga doble clic sobre el archivo que
se le ha indicado.
4. Cierre la ventana de propiedades y guarde el formulario con el nombre
Bienvenido

26 SENATI-Computación e Informática
Formularios

Como tarea adicional busque la propiedad que permite cambiar la ubicación de la


imagen y la que establece que ella pueda ocupar toda el área del formulario.

Autoformato
Usted puede modificar el aspecto general del formulario de una manera muy rápida
empleando el siguiente método:
1. Muestre el formulario en vista diseño.
2. Haga clic en la ficha Organizar Cinta Autoformato y luego en el comando
Autoformato.

3. Haga clic en el estilo que desee y luego pulse el botón Aceptar.

Algunos autoformatos

SENATI-Computación e Informática 27
Microsoft Office

4. También puede usar el Asistente para Autoformato

Vistas: Formulario, Presentación y Diseño


Para ver las Vistas de un Formulario, tenemos dos opciones:
1. Hacemos clic con el Botón Derecho del Mouse sobre el Formulario y elegimos
la Vista

2. Hacemos doble clic sobre el Formulario, y luego la Ficha Inicio, Cinta Vistas y
elegimos la que deseamos

28 SENATI-Computación e Informática
Formularios

Vista Presentación.
La vista Presentación es una vista más orientada a lo visual que la vista Diseño.
Mientras visualiza un formulario en una vista Presentación, cada control muestra datos
reales. En consecuencia, es una vista muy útil para ajustar el tamaño de los controles o
realizar muchas otras tareas que afectan al aspecto visual y al uso del formulario.
Hay algunas tareas que no se pueden realizar en la vista Presentación y que requieren
pasar a la vista Diseño. En algunos casos, Access muestra un mensaje que indica que
hay que cambiar a la vista Diseño para llevar a cabo un cambio determinado .

Modificar un formulario en la vista Presentación


Una vez creado el formulario, puede ajustar fácilmente su diseño en la
vista Presentación. Usando los datos reales del formulario como punto
de referencia, puede reorganizar los controles y ajustar su tamaño.
Pueden colocar controles nuevos en el formulario y configurar las
propiedades del formulario y de sus controles.
Para cambiar a la vista Presentación, haga clic con el botón secundario
en el nombre del formulario en el panel de navegación y, a continuación,
haga clic en Vista Presentación.
Access muestra el formulario en la vista Presentación.
Puede usar la hoja de propiedades para modificar las propiedades del
formulario, sus controles y secciones. Para mostrar la hoja de
propiedades, presione F4.
Puede usar el panel Lista de campos para agregar campos de la tabla o
consulta subyacente al formulario. Para mostrar el panel Lista de
campos, use uno de los siguientes métodos:
En el grupo Controles de la ficha Formato, haga clic en Agregar campos
existentes.
Presione ALT+F8.
A continuación, podrá arrastrar directamente los campos desde el panel
Lista de campos hasta el formulario.
Para agregar un solo campo, haga doble clic en él o arrástrelo desde el
panel Lista de campos hasta la sección del formulario donde desee que
se muestre.
Para agregar varios campos a la vez, mantenga presionada la tecla
CTRL y haga clic en los campos que desee agregar. A continuación,
arrastre los campos seleccionados hasta el formulario.

SENATI-Computación e Informática 29
Microsoft Office

Vista Diseño.
La vista Diseño ofrece una vista más detallada de la estructura del informe. Se pueden
ver las secciones Encabezado, Detalle y Pie de página de un formulario. No se pueden
ver los datos subyacentes mientras se están haciendo cambios en el diseño. No
obstante, hay ciertas tareas que puede realizar más fácilmente en la vista Diseño que en
la vista Presentación. Puede realizar las acciones siguientes:
- Agregar una mayor variedad de controles al formulario, como etiquetas,
imágenes, líneas y rectángulos.
- Editar orígenes de control de cuadro de texto en los mismos cuadros de texto
sin usar la hoja de propiedades.
- Cambiar el tamaño de las secciones de los formularios, como por ejemplo la
sección Encabezado del formulario o la sección Detalle.
- Cambiar algunas propiedades del formulario que no se pueden cambiar en la
vista Presentación (como Vista predeterminada o Permitir vista Formulario).

Modificar un formulario en la vista Diseño


El diseño de un formulario también se puede ajustar en la vista Diseño. Se
pueden agregar nuevos controles y campos al formulario agregándolos a la
cuadrícula de diseño. La hoja de propiedades incluye un gran número de
propiedades que se pueden configurar para personalizar el formulario.
Para cambiar a la vista Diseño, haga clic con el botón secundario en el
nombre del formulario en el panel de navegación y, a continuación, haga
clic en Vista Diseño.

30 SENATI-Computación e Informática
Formularios

Access muestra el formulario en la vista Diseño.


Puede usar la hoja de propiedades para modificar las propiedades del
formulario, sus controles y secciones. Para mostrar la hoja de propiedades,
presione F4.
Puede usar el panel Lista de campos para agregar campos de la tabla o
consulta subyacente al diseño del formulario. Para mostrar el panel Lista de
campos, use uno de los métodos siguientes:
En el grupo Herramientas de la ficha Diseño, haga clic en Agregar campos
existentes.
Presione ALT+F8.
A continuación, podrá arrastrar directamente los campos desde el panel
Lista de campos al formulario.
Para agregar un solo campo, haga doble clic en él o arrástrelo desde el panel
Lista de campos hasta la sección del formulario donde desee que se muestre.
Para agregar varios campos a la vez, mantenga presionada la tecla CTRL y
haga clic en los campos que desee agregar. A continuación, arrastre los
campos seleccionados hasta el formulario.

Editar controles
Usted puede cambiar la presentación de los controles de los formularios. También
puede añadir nuevos objetos y eliminar los existentes

SENATI-Computación e Informática 31
Microsoft Office

Tipos de controles
Usted puede encontrar los siguientes controles en un formulario:
Etiquetas
Cuadros de texto
Cuadros combinados
Botones de comando
Grupos de botones de opción
Grupos de botones alternar
Casillas de verificación
Imágenes
Controles de ficha
Subformularios

Los controles más utilizados son los primeros. En la siguiente imagen usted puede
apreciar la vista diseño de un formulario y en ella se le indicará cuáles son las cajas de
texto (T), etiquetas (E) y cuadros combinados (C).

Vista diseño de un formulario


Seleccionar controles
Para seleccionar un control, haga clic sobre él.
Para seleccionar múltiples controles puede realizar cualquiera de las siguientes
acciones:
Coloque el puntero fuera de uno de ellos y arrastre hasta formar un
rectángulo que abarque, aunque sea parcialmente, a todos los controles que
desea seleccionar.

32 SENATI-Computación e Informática
Formularios

Haga clic en la regla horizontal de modo que el puntero se tome el aspecto


de una flecha apuntando hacia abajo. Después de hacer clic todos los
controles bajo la flecha quedarán seleccionados; si además desea
seleccionar controles que no se encuentran bajo la primera posición del
puntero puede arrastrar la fecha horizontalmente.

De forma análoga, puede seleccionarse múltiples controles colocando el


puntero sobre la regla vertical del lado izquierdo del formulario.

SENATI-Computación e Informática 33
Microsoft Office

Cambiar las dimensiones


Para modificar el tamaño de un control:
1. Active la vista diseño del formulario.
2. Haga clic sobre el control deseado y coloque el puntero del mouse sobre
cualquiera de los controladores ubicados en sus esquinas y en la mitad de cada
uno de sus lados. El puntero del mouse adquirirá la forma de una doble flecha
indicando que es posible cambiar el tamaño del objeto.
3. Arrastre para cambiar el tamaño.

Ilustración: Cambiar el tamaño desde la esquina inferior derecha

Ajustar
Para cambiar el tamaño de múltiples controles simultáneamente:
1. Active la vista diseño.
2. Seleccione los controles cuyos tamaños de sea cambiar.
3. Ejecute alguna de las siguientes acciones:
Arrastre cualquiera de los controladores de tamaño de uno de los
controles; el resto de los objetos cambiará su tamaño en la misma forma el
que usted eligió.
Haga clic en la Ficha Organizar, cinta Tamaño y haga clic en alguno de
los siguientes botones:
- Ajustar al más ancho
- Ajustar al más estrecho
- Ajustar al más corto
- Ajustar al más alto

Mover
Para mover un control:
1. Active la vista diseño del formulario.
2. Haga clic sobre el control deseado y coloque el puntero del mouse sobre
cualquiera de sus bordes (verá el puntero en forma de cruz con un puntero).

34 SENATI-Computación e Informática
Formularios

3. Arrastre para cambiar la posición.

Alinear
Usted puede alinear múltiples controles. Para ello:
1. Active la vista diseño del formulario.
2. Seleccione los controles que desee alinear.
3. Haga clic en la Ficha Organizar, cinta Alineación de Controles y haga clic en
alguno de los siguientes comandos:
Izquierda
Derecha
Arriba
Abajo

Eliminar controles
Usted puede alinear múltiples controles. Para ello:
1. Active la vista diseño del formulario.
2. Seleccione los controles que desee eliminar.
3. Presione la tecla suprimir del teclado

Agregar controles
Usted puede añadir controles a un formulario a través de tres caminos:
a. Desde la lista de campos
- Muestre el formulario en vista diseño.
- Haga visible la lista de campos. Para esto lleve a cabo alguna de los
siguientes acciones:
- Haga clic en el menú Ver y luego active el comando Lista de campos.
- Haga clic en el botón Lista de campos de la barra de herramientas
Diseño de formulario.
- Arrastre el campo desde la ventana con la lista de campos hasta el
formulario.

SENATI-Computación e Informática 35
Microsoft Office

b. Si desea emplear el cuadro de herramientas:


- Muestre el formulario en vista diseño.
- Ubíquese en la Ficha Diseño, Cinta Controles. Para esto lleve a cabo
alguna de los siguientes acciones:
- Haga clic en el botón que representa al tipo de control deseado y haga
clic en la posición del formulario donde desea colocar el objeto.
- Establezca las propiedades necesarias para el control.

c. Si desea emplear un asistente para controles:


- Muestre el formulario en vista diseño.
- Asegúrese de que el botón Asistente para controles de la Cinta
Controles se encuentre activado.

36 SENATI-Computación e Informática
Formularios

- Haga clic en el botón que representa al tipo de control deseado y


arrastre el puntero en el formulario sobre la posición en la que desea
colocar el objeto.
- Siga los pasos del asistente.

Controles a usar
Botón de opción
Los botones de opción son empleados cuando en un campo hay un
número pequeño de valores permitidos y hay suficiente espacio en el
formulario para dejar visible al usuario todas las posibilidades.
Algunos campos en los que se puede emplear este tipo de controles
son:
1. El campo Sexo en una tabla de datos personales.
2. El campo Categoría cuando hay suficiente espacio disponible
en un formulario.
Para insertar botones de opción realice lo siguiente:
1. Verifique que el formulario está asociado a un origen de datos
2. Active el botón Asistente para controles.

Asistente para
3. En la ficha Diseño, Cinta Controles, haga clic en el botón
controles Grupo de opciones y luego haga clic en el formulario.
Aparecerá el asistente.
4. Escriba el texto que debe ir en cada opción y pulse Siguiente.
5. Si lo desea, escoja una opción predeterminada y haga clic en
Grupo de Siguiente.
opciones 6. Asocie un valor numérico a cada opción; cuando se seleccione
una opción el grupo tomará el valor de la opción elegida.
7. En la siguiente ventana, el cuadro de diálogo le permitirá
vincular el valor del grupo con uno de los campos numéricos
del origen de datos. Por ejemplo, el campo zona puede tener
cuatro valores posibles: 1, 2, 3, y 4; el grupo de opciones podría
tener las descripciones de estos valores del siguiente modo: 1 -
Norte, 2-Sur, 3-Este y 4-Oeste.
8. Indique el tipo de controles que desea emplear y avance a la
siguiente ventana.
9. Escriba un título para el grupo y haga clic en Finalizar.

Cuadro de texto
Los cuadros de texto se usan para mostrar información provenientes de
la base de datos y para ingresar los datos en ella.

SENATI-Computación e Informática 37
Microsoft Office

Después de insertar un cuadro de texto a partir del cuadro de


herramientas, usted verá el control con la palabra ‟Independiente‟ en su
interior. A fin de enlazar el control con el origen de datos del
formulario:
1. Verifique que el formulario está asociado a un origen de datos;
para esto:
a. Haga visible la ventana de propiedades y despliegue el
cuadro combinado para que sean mostradas las propiedades
del formulario.
b. Active la ficha Datos y verifique que la propiedad Origen
del registro contiene algún valor (puede ser una tabla, una
consulta o una expresión SQL). Si no hay ningún valor
definido en esta propiedad puede crearlo haciendo uso del
generador de consultas que se encuentra a la derecha.
c. La imagen Origen del registro de la página 24 muestra que
el formulario tomado de ejemplo tiene como fuente la tabla
Pedido. En esta ilustración el generador de consultas es el
botón que posee tres puntos y que se ve seleccionado con
el puntero del mouse.

Origen del registro


d. Cierre la ventana de propiedades.
2. Haga clic derecho en el interior del cuadro de texto del formulario
y luego active el comando Propiedades.
3. Active la ficha Datos.
4. Para el enlace:
a. Haga clic en la propiedad Origen de datos

38 SENATI-Computación e Informática
Formularios

b. Si el cuadro contendrá el valor de un campo tal como se


encuentra en la base de datos, despliegue la lista y
seleccione el campo que desea utilizar.
c. Si el cuadro calculará un valor a partir de uno o más
campos, haga clic en el botón del generador de expresiones
que se encuentra a la derecha del campo y escriba la
fórmula a emplear. El generador de expresiones es un
botón con tres puntos en su superficie, semejante al
generador de consultas que se encuentra a la derecha de la
propiedad Origen de datos.

Generador de expresiones
La ilustración anterior muestra al Generador de
expresiones con la fórmula que calcula la edad de un
trabajador a partir de su fecha de nacimiento.
5. Cierre la ventana de propiedades.

Etiqueta
Las etiquetas tienen como fin presentar un texto al usuario de modo
que le sea más fácil entender el propósito del formulario y sus demás
controles.
Después de insertar una etiqueta a partir del cuadro de herramientas, se
le presentará un rectángulo con el punto de inserción parpadeando de
tal forma que usted pueda escribir el texto que contendrá.

Casilla de verificación
Las casillas de verificación se emplean para presentar datos que
pueden tener solamente dos valores que se expresan en términos de Sí
o No, o Activado y Desactivado. Los siguientes ejemplos pueden
ayudarlo a familiarizarse con casos de uso típico de estos controles:
1. El campo Importado para el catálogo de productos de una
empresa.
2. El campo Sindicalizado para una tabla de datos personales.
Algunas personas emplean casillas de verificación para el campo Sexo,
proceder de esta manera indicaría „Sexo: Sí „o „Sexo: No‟; sería mucho

SENATI-Computación e Informática 39
Microsoft Office

mejor emplear botones de opción o cuadros combinados para este tipo


de campos.
Después de insertar una casilla de verificación a partir del cuadro de
herramientas, usted verá el control con la expresión ‟VerificaciónX‟
donde X es un número que representa el orden de aparición del control
en el formulario.

A fin de enlazar el control con el origen de datos:


1. Verifique que el formulario está asociado a un origen de datos.
2. Haga clic derecho sobre el visto bueno de la izquierda y active
el comando Propiedades.
3. Active la ficha Datos.
4. Modifique la propiedad Origen del control para indicar cuál es
el campo vinculado.
5. Cierre la ventana
6. Haga clic derecho sobre la etiqueta VerificaciónX y active el
comando Propiedades.
7. Active la ficha Formato.
8. Modifique la propiedad Título para indicar cuál debe ser el
texto que se muestre.

Fichas
Las fichas permiten agrupar los controles de acuerdo a alguna
característica que tengan en común; son empleadas comúnmente
cuando se cuenta con una gran cantidad de controles y se desea
mostrarlos por etapas.
Para utilizar estos controles:
1. Muestre el formulario en vista diseño.
2. En el cuadro de herramientas, haga clic sobre el control Ficha y
luego haga clic sobre el formulario.
3. Seleccione el control y emplee los controladores de tamaño de
modo que ocupe el área que usted desee.
4. Modifique la propiedad Título de cada ficha para que muestren
el texto deseado. A fin de realizar esta acción:
a. Haga clic derecho sobre la primera pestaña del control y
luego haga clic sobre el comando Propiedades.

40 SENATI-Computación e Informática
Formularios

b. En la ficha Formato, busque la primera propiedad y


cambie el título.
c. Repita estas acciones con las demás fichas.
Para colocar controles en las fichas puede emplear dos métodos:
a. Utilizar controles que ya existen en el formulario.
i. Corte los controles que desea colocar en la ficha.
ii. Seleccione la ficha y pegue (CTRL+V)
iii. Desplace los controles dentro de la ficha para
ubicarlos en el lugar exacto que desee.
b. Crear controles desde el cuadro de herramientas.
i. Seleccione la ficha.
ii. Haga clic en el control deseado dentro del cuadro
de herramientas.
iii. Haga clic dentro de la ficha.
iv. Personalice el tamaño y posición del control dentro
de la ficha.

Dos selecciones distintas

Cambiar el título de una ficha

SENATI-Computación e Informática 41
Propiedades de los controles
Usted puede modificar el aspecto y comportamiento de los controles individualmente a
través de sus propiedades. Entre aquellas que modifican la apariencia se encuentran las
propiedades de la fuente (nombre, tamaño, estilo, alineación y color); están, también el
color de fondo, el grosor y color de los bordes y el efecto e special. La forma más fácil
de configurar estas propiedades es la siguiente:
1. Seleccione el control al que desea cambiar una determinada propiedad. Puede
hacer una selección múltiple si desea hacer cambios en múltiples controles.
2. Haga clic en la opción correspondiente a la propiedad en la Hoja de
Propiedades.

a. Orden de tabulación
Cuando se agrega y mueve controles se debe tener cuidado en el orden en el
cual usted se podrá desplazar por el formulario empleando la tecla TAB.
Para configurar la secuencia en que los controles obtienen el enfoque usted
puede hacer clic derecho sobre cualquiera de ellos y activar el comando
Orden de tabulación.

42 SENATI-Computación e Informática
Formularios

b. Color de fondo

c. Efecto especial

d. Color de bordes

e. Formato

SENATI-Computación e Informática 43
Microsoft Office

Cuadros combinados
Los cuadros combinados se emplean para que el usuario elija un valor dentro de un
conjunto de posibilidades. Se prefiere este tipo de controles frente a los botones de
opción cuando el espacio en el formulario es reducido o cuando se espera que el
conjunto de valores disponibles cambie.
La forma más sencilla de insertar cuadros combinados en la vista diseño de un
formulario existente es emplear el asistente para cuadros combinados tal como se
detalla a continuación:
Cuadro 1. Verifique que el formulario está asociado a un origen de datos tal como se
combinado detalla en el primer paso de Insertar cuadros de texto
2. Active el asistente para controles y guíese por sus instrucciones.

Usando el asistente para controles

Usando una tabla o consulta


Una tabla o consulta: Escoja esta opción si desea colocar en el cuadro
combinado valores que se encuentran en alguna tabla de la base de
datos. Esta sería una buena opción, por ejemplo, si desea mostrar
distritos en lugar de códigos postales.
Haga clic en Siguiente:
i. Indique cuál desea emplear.
ii. En el siguiente paso, seleccione los campos que desea emplear.
Recuerde que lo más recomendable es seleccionar dos columnas:
una para los códigos (que serán los que se almacenen) y otra
para las descripciones (que serán las que se muestren).
iii. Luego, indique la forma en la que se ordenarán los registros.
iv. En la siguiente ventana, indique el ancho de las columnas (se
recomienda ocultar la columna de los códigos)

Escribiendo la lista
Una lista de valores que usted mismo escribirá en el asistente. Esta es la
opción que debe seleccionarse si los valores no se encuentran en
ninguna tabla de la base de datos. Por ejemplo: es común tener un
campo Sexo en los datos del personal de las empresas; el valor
almacenado en las tablas suele ser M o F aludiendo a Masculino y
Femenino pero estas palabras nunca están almacenadas en ninguna
tabla.
Haga Clic en Siguiente
i. Indique el número de columnas que va a emplear (normalmente
son dos) y, en la cuadrícula, escriba los valores. Se recomienda
que oculte la columna que contenga los códigos.

44 SENATI-Computación e Informática
Formularios

ii. En la siguiente ventana, indique cuál de las columnas es la que


contiene los valores que deben ser almacenados en la base de
datos (normalmente es la columna de los códigos).
iii. Avance a la siguiente pantalla del asistente e indique qué campo
del formulario debe almacenar el valor asociado al cuadro
combinado.
iv. Finalmente, dé una etiqueta para el cuadro combinado.

Búsqueda de registros.
Se puede crear un cuadro combinado agregando un campo de búsqueda
a un formulario.
1. Cree un campo de búsqueda en una tabla. Este campo puede ser
un campo multivalor o un campo que contiene un solo valor.
Siga uno de estos procedimientos:
 Cree un nuevo formulario basado en un origen de
registros que incluya el campo de búsqueda. Por ejemplo,
en el panel de exploración, seleccione una tabla o consulta
que contenga el campo de búsqueda y, a continuación, en
la ficha Crear, en el grupo Formularios, haga clic en
Formulario.
Access crea automáticamente un cuadro combinado para
el campo de búsqueda.
 Agregue un cuadro de lista o un cuadro combinado a un
formulario:
- En la vista Diseño, abra un formulario que esté
basado en un origen de registros que incluya el
campo de búsqueda.
- Si no se muestra el panel Lista de campos, presione
ALT+F8 para que se muestre.
- Haga doble clic en el campo de búsqueda, o bien,
arrastre el campo de búsqueda desde el panel Lista de
campos hasta el formulario. Access crea
automáticamente un cuadro combinado enlazado al
campo.

Generación automática mediante el uso del asistente de búsquedas en el diseño


de las tablas
Una columna (o campo) de búsqueda es un campo de una tabla cuyo valor se obtiene
de otra tabla o de una lista de valores. Puede usar una columna de búsqueda para
mostrar una lista de opciones en un cuadro combinado o un cuadro de lista. Las
opciones pueden proceder de una tabla o consulta, o pueden ser valores especificados.
Puede crear una columna de búsqueda manualmente, configurando las propiedades de

SENATI-Computación e Informática 45
Microsoft Office

campo de búsqueda de un campo, o automáticamente, completando el Asistente para


búsquedas. Siempre que sea posible, debe usar el Asistente para búsquedas para crear
una columna de búsqueda. El Asistente para búsquedas simplifica el proceso y rellena
automáticamente las propiedades del campo apropiadas y crea las relaciones de tabla
apropiadas.

Puede crear una columna de búsqueda en la vista Hoja de datos o en la vista Diseño.

Crear una columna de búsqueda en la vista Hoja de datos


De forma predeterminada, al abrir una tabla, si abre en la vista Hoja de datos. Puede
agregar una columna de búsqueda haciendo clic en Columna de búsqueda en el grupo
Campos y columnas en la ficha Hoja de datos. Haciendo esto se abre el Asistente
para búsquedas, que le guía en el proceso de creación de la columna de búsqueda.

1. Haga clic en el Botón Microsoft Office y, a continuación, haga clic en


Abrir.
2. En el cuadro de diálogo Abrir, seleccione y abra la base de datos.
3. En el panel de exploración, haga doble clic en la tabla en la que desee crear la
columna de búsqueda, esto abrirá la tabla en la vista Hoja de datos.
4. En la ficha Hoja de datos, en el grupo Campos y columnas, haga clic en
Columna de búsqueda.

Se iniciará el Asistente para búsquedas.

46 SENATI-Computación e Informática
Formularios

5. En la primera página del Asistente para búsquedas, indique si desea basar la


columna de búsqueda en los valores de una tabla o una consulta, o en una lista
de valores que escriba.
El tipo de columna de búsqueda más habitual es el que muestra los valores
buscados de una tabla o consulta relacionada.
6. Haga clic en Siguiente y, a continuación, siga las instrucciones para completar
el asistente. Para obtener más información sobre cómo completar el asistente,
vea la sección Uso del Asistente para búsquedas.
Al hacer clic en Finalizar, se crea una columna de búsqueda cuyas propiedades de
campo se basan en las elecciones realizadas en el Asistente para búsquedas.

Crear una columna de búsqueda mediante el panel Lista de campos


Si usa una base de datos que contiene más de una tabla, puede iniciar el proceso de
creación de un campo de búsqueda arrastrando un campo del panel Lista de campos.
El panel Lista de campos muestra los campos disponibles en otras tablas de la base de
datos. Al crear una columna de búsqueda de este modo, el Asistente para búsquedas se
inicia automáticamente y el campo que arrastra a la hoja de datos se convierte en uno
de los campos de la columna de búsqueda.

1. Haga clic en el Botón Microsoft Office y, a continuación, haga clic en


Abrir.
2. En el cuadro de diálogo Abrir, seleccione y abra la base de datos.
3. En el panel de exploración, haga doble clic en la tabla en la que desee crear la
columna de búsqueda , esto abrirá la tabla en la vista Hoja de datos.
4. En la ficha Hoja de datos, en el grupo Campos y columnas, haga clic en
Agregar campos existentes.

SENATI-Computación e Informática 47
Microsoft Office

Aparecerá el panel Lista de campos.


5. Haga clic en el signo más (+) situado junto a la tabla para mostrar la lista de
campos de esa tabla.
6. Arrastre el campo que desee del panel Lista de campos a la tabla en la vista
Hoja de datos.
7. Cuando aparezca la línea de inserción, coloque el campo en su posición.

Se iniciará el Asistente para búsquedas.


8. Siga las instrucciones para completar el asistente. Para obtener más
información sobre cómo completar el asistente, vea la sección Uso del
Asistente para búsquedas.
Una vez completado el asistente, aparecerá la columna de búsqueda en la tabla
en la vista Hoja de datos.

Crear una columna de búsqueda en la vista Diseño


Puede crear una columna de búsqueda en la vista Diseño, además de en la vista Hoja de
datos. Cuando trabaja en la vista Diseño, puede crear una columna de búsqueda usando
el mismo Asistente para búsquedas que usa en la vista Hoja de datos. Sin embargo, en
la vista Diseño, también tiene acceso pleno a toas las propiedades del campo: Como
resultado, puede editarlas directamente.

1. Haga clic en el Botón Microsoft Office y, a continuación, haga clic en


Abrir.
2. En el cuadro de diálogo Abrir, seleccione y abra la base de datos.
3. En el panel de exploración, haga clic con el botón secundario en la tabla en la
que desee agregar la columna de búsqueda y, a continuación, haga clic en Vista
Diseño en el menú contextual.
4. Busque la primera fila vacía disponible en la cuadrícula de diseño de la tabla.
5. En la primera fila vacía disponible, haga clic en una celda de la columna
Nombre de campo, y escriba el nombre de campo de la columna de búsqueda.
6. A continuación, haga clic en una celda de la columna Tipo de datos de dicha
fila, haga clic en la flecha desplegable y seleccione Asistente para búsquedas.
Se iniciará el Asistente para búsquedas.

48 SENATI-Computación e Informática
Formularios

7. En la primera página del Asistente para búsquedas, indique si desea basar la


columna de búsqueda en los valores de una tabla o una consulta, o en una lista
de valores que escriba.
El tipo de columna de búsqueda más habitual es el que muestra los valores
buscados de una tabla o consulta relacionada.
8. Haga clic en Siguiente y, a continuación, siga las instrucciones para completar
el asistente. Para obtener más información sobre cómo completar el asistente,
vea la sección Uso del Asistente para búsquedas.
Al hacer clic en Finalizar, se crea una columna de búsqueda cuyas propiedades de
campo se basan en las elecciones realizadas en el Asistente para búsquedas. Puede ver las
propiedades de campo en el panel inferior de la vista Diseño, bajo Propiedades del
campo. Para ver las propiedades que se aplican específicamente a la columna de
búsqueda, haga clic en la ficha Búsqueda

Usar el Asistente para búsquedas


El Asistente para búsquedas se inicia en los siguientes casos: al crear una columna de
búsqueda en la vista Hoja de datos, al arrastrar un campo desde el panel Lista de
campos hasta una tabla que se abre en la vista Hoja de datos y, en la vista Diseño, al
seleccionar Asistente para búsquedas en la columna Tipo de datos. El asistente le
guía en los pasos necesarios para crear una columna de búsqueda y establece
automáticamente las propiedades de campo apropiadas de acuerdo con sus elecciones.
El asistente también crea relaciones de tabla e índices, cuando es necesario, para asistir
a la columna de búsqueda.
Cuando se inicia el Asistente para búsquedas, deberá decidir si desea basar la columna
de búsqueda en una tabla o consulta, o en una lista de valores especificados. La
mayoría de las veces, si la base de datos está diseñada correctamente y la información
se divide en tablas basadas en temas, deberá elegir una tabla o consulta c omo el origen
de los datos para la columna de búsqueda.

SENATI-Computación e Informática 49
Microsoft Office

Columna de búsqueda basada en una tabla o consulta


Si eligió la opción Deseo que la columna de búsqueda busque los valores en una
tabla o consulta, cuando haga clic en Siguiente, el Asistente para búsquedas mostrará
una lista de tablas que proporcionan los valores para la columna de búsqueda. Para ver
únicamente las tablas, haga clic en Tablas. Para ver únicamente las consultas, haga clic
en Consultas. Para ver ambas, haga clic en Ambas. Si eligió una tabla o consulta, haga
clic en Siguiente.

El Asistente para búsquedas enumera los campos disponibles de la tabla o consulta.


Para cada campo que desee incluir en la columna de búsqueda, haga clic en el campo y,
a continuación, en el botón mayor que (>) para moverlo a la lista Campos
seleccionados. Observe que debe seleccionar los campos que desee dejar visibles
además del campo que desea que suministre el valor que se almacena al realizar una
selección en la columna de búsqueda. Cuando termine, haga clic en Siguiente.

50 SENATI-Computación e Informática
Formularios

El Asistente para búsquedas muestra una página que permite especificar un campo o
campos que puede usar para ordenar la columna de búsqueda. Esta ordenación es
opcional. Cuando termine, haga clic en Siguiente.

Puede ajustar el ancho de las columnas que aparecerán en la columna de búsqueda. Si


reduce el ancho de un campo para que ya no esté visible, no aparecerá en la columna de
búsqueda. Por ejemplo, puede usar esta función para impedir que se muestre una
columna de Id. Cuando termine, haga clic en Siguiente.

SENATI-Computación e Informática 51
Al seleccionar una fila de la columna de búsqueda, puede almacenar un valor de dicha
fila en la base de datos o usar el valor posteriormente para realizar una acción. Esta
página del asistente, que se muestra en la siguiente figura, permite elegir el campo que
suministra dicho valor. Debe elegir un campo que identifique de forma exclusiva la
fila. Normalmente, el campo de clave principal de la tabla de origen resulta una buena
elección. Cuando termine, haga clic en Siguiente.

En la página final del Asistente para búsquedas, debe escribir un nombre para la
columna de búsqueda; éste se convertirá en el nombre del campo de la tabla.

Si desea permitir la selección de más de un valor cuando aparece la columna de


búsqueda y, a continuación, almacenar varios valores, active la casilla de verificación
Permitir varios valores. Observe que activar esta casilla de verificación cambia la
columna de búsqueda por un campo multivalor.

52 SENATI-Computación e Informática
Formularios

Actividad 3: Insertar una etiqueta


En la base de datos PersForm modificará el formulario Bienvenida para que se muestre
como la siguiente ilustración:

Procedimiento
1. Abra el formulario en vista diseño.
Etiqueta 2. En el cuadro de herramientas, haga clic en el icono etiqueta y luego haga clic en
el formulario.
3. Escriba Comercial DOUP y luego haga clic fuera del control pero dentro del
formulario.
4. Puede seleccionar la etiqueta y modificar su fuente, tamaño y demás
características.
5. Muestre la vista formulario, guarde y cierre.

Actividad 4: Editar los controles de un formulario


En la base de datos PersForm, usted creará un formulario con la tabla Trabajador
empleando el asistente para formularios y lo modificará que se vea como se muestra en
la siguiente ilustración:

Aspecto final del formulario


Procedimiento

SENATI-Computación e Informática 53
Microsoft Office

1. Emplee el asistente para formularios a fin de crear uno que tome los campos de
la tabla indicada que se muestran en la imagen.
2. Cuando el asistente le muestre el objeto terminado, cambie a la vista diseño y
seleccione los cuatro primeros campos; haga clic en el menú Formato,
despliegue el submenú Tamaño y active el comando Ajustar al más estrecho.
3. Repita la operación anterior con los campos Cargo y Dirección.
4. Active la vista formulario, guarde el formulario con el nombre predeterminado
y ciérrelo.

Actividad 5: Agregar etiquetas, cajas de texto y fichas


En la base de datos PersForm, usted modificará el formulario creado en la actividad
anterior de modo que contenga un control de fichas tal como indica la siguiente
ilustración:

Formulario con fichas


Procedimiento
1. Active la vista diseño.
2. Aumente ligeramente el tamaño de la sección detalle del formulario arrastrando
sus bordes tal como se indica en la imagen:

Cambiar el ancho y alto del formulario

54 SENATI-Computación e Informática
Formularios

3. Para colocar el control de fichas:


a. Active el formulario Edición y haga clic sobre el comando Seleccionar
todo.
b. Efectúe la acción Cortar mediante la combinación de teclas Ctrl+X o
cualquier otro método disponible.
Control ficha c. Haga clic en el botón Control ficha del cuadro de controles.
d. Haga clic en la sección Detalle del formulario.
e. Haga clic en la primera lengüeta del control ficha. Con esta acción usted
indica que los objetos que colocará en el formulario deberán pertenecer
a esta página.
f. Efectúe la acción Pegar mediante la combinación de teclas Ctrl+V o
cualquier otro método disponible.
g. Redimensione el control ficha para que sea apropiado para las etiquetas
y cajas de texto que ha colocado en él.

h. Haga doble clic sobre la primera lengüeta del control. En la propiedad


Título (primera ficha de la página de propiedades), escriba Datos
básicos.
i. Mueva la ventana de propiedades para que no obstaculice la visión del
formulario. Sin cerrar esta ventana, haga clic en la segunda lengüeta del
control ficha y escriba Datos adicionales en la propiedad Título.
4. Para los controles de la segunda ficha:
a. Haga clic en la segunda lengüeta del control ficha del formulario.
b. Muestre la lista de campos del formulario haciendo clic en el menú Ver
y luego en el comando Lista de campos.
c. Arrastre el campo traFechaNac dentro de la ficha.

Cuadro de d. En el cuadro de herramientas, haga clic en el botón Cuadro de texto y


texto luego haga clic dentro de la ficha, debajo del campo que acaba de crear.
e. Cambie la propiedad Título de la etiqueta, para que en ella se lea Edad.
f. Cambie la propiedad Origen del control –ubicada en la segunda ficha de
la ventana de propiedades-a se lea:

SENATI-Computación e Informática 55
Microsoft Office

=Ent((ahora()-traFechaNac)/365)
g. Repita los pasos del c al f para la fecha de contratación y el tiempo de
servicio.
h. Active la vista formulario, guarde el formulario con el nombre
predeterminado y ciérrelo.

Formularios continuos
Los formularios continuos permiten que sean vistos los detalles de más de un registro
simultáneamente, tal como se aprecia en la siguiente ilustración:

Formulario continuo para los productos

Aunque la forma más sencilla de presentar un formulario en modo de formulario


continuo es a través del asistente para formularios (en la distribución simplemente se
selecciona la que está identificada como Tabular), también puede activar esta vista
desde la propiedad Vista predeterminada que se encuentra en la ficha Formato.

Actividad 6: Crear un formulario continuo


En la base de datos Persform, usted creará el formulario de la ilustración anterior.
Procedimiento
1. Cree el formulario empleando el asistente.
a. Haga clic en el enlace Crear un formulario utilizando el asistente en la
sección Formularios de la ventana de la base de datos.
b. Primer paso: tabla y campos de origen del formulario. Indique al
asistente que empleará la tabla Producto y, en ella, los campos
proNombre, medID, proPrecio y catId
c. Segundo paso: Seleccione la distribución Tabular.
d. Tercer paso: Elija el estilo Estándar (más adelante puede emplear el
autoformato para cambiarlo por cualquier otro)

56 SENATI-Computación e Informática
Formularios

e. Cuarto paso: Indique que el título del formulario será Múltiples


productos.
2. Modifique el diseño para que se muestre como el gráfico.
a. Active la vista diseño.
b. Para la sección detalle:
i. Cambie el ancho de las cajas de texto y cambie su posición
c. Para la sección del encabezado:
i. Modifique las etiquetas. Algunas necesitan que cambie su
texto, otras su alineación, otras su posición y todas que las
Ampliar el pie coloque en negrita.
d. Para la sección del pie:
i. Amplíe la sección arrastrando el puntero desde la parte
inferior de la banda.
ii. Haga clic en el botón Cuadro de texto del cuadro de
herramientas y luego haga clic en la sección Pie del
formulario.
iii. Modifique el texto de la etiqueta para que diga “Productos
mostrados.”
iv. Cambie la propiedad Origen de datos del cuadro de texto que
acaba de crear para que sea: =Cuenta(proId)
v. Cambie el formato del cuadro de texto de para que la
alineación sea izquierda, la propiedad Estilo de fondo sea
Transparente, la propiedad Efecto especial sea Sin relieve y
el Estilo de los bordes sea Transparente.
3. Cambie las propiedades del formulario
a. Establezca la propiedad Barras de desplazamiento al valor Sólo vertical
b. La propiedad Botones de desplazamiento debe estar configurada en No.
4. Muestre la vista formulario, guárdelo con el nombre que se le sugiere
(Múltiples productos) y ciérrelo.

Pie de formulario
Los formularios presentan comúnmente tres secciones: encabezado, detalle y pie. Usted
puede mostrar y ocultar la primera y la tercera sección a través del comando
Encabezado o Pie del formulario.
Es común emplear estas secciones para colocar controles de búsqueda; en el siguiente
formulario el cuadro combinado se emplea para buscar el producto cuyos detalles serán
mostrados.

SENATI-Computación e Informática 57
Microsoft Office

Formulario con cuadro combinado de búsqueda

Es importante que usted comprenda completamente la diferencia entre los el cuadro


combinado del encabezado y los dos de la sección de detalles: el primero permite
buscar un registro para mostrar o modificar sus detalles, los otros dos ayudan al usuario
a elegir la unidad de medida del producto y su categoría.

Encabezado de formulario

Actividad 7: Cuadro combinado en el encabezado


En la base de datos Persform, usted creará el formulario de la ilustración Formulario
con cuadro combinado de búsqueda.

Botón Tablas
Procedimiento
1. Para crear el formulario:
a. Active el botón Tablas de la ventana de la base de datos.
b. Haga clic sobre la tabla Producto y luego haga clic en el botón
Autoformulario.
Ampliar el 2. Para crear el encabezado del formulario:
encabezado
a. Active la vista diseño y haga visible el encabezado y pie del formulario
utilizando para ello el menú Ver.
b. Amplíe la sección Encabezado del formulario arrastrando la banda
Detalle hacia abajo.
3. Para colocar el cuadro combinado en el encabezado:
a. Asegúrese de que el asistente para controles esté activado y luego haga
clic sobre el botón Cuadro combinado.

58 SENATI-Computación e Informática
Formularios

b. Haga clic sobre el encabezado. En este momento el asistente debe haber


empezado a guiarlo por el proceso de configuración del control:
Indique que desea que desea buscar un registro en el formulario
según el valor que seleccione en el cuadro y pulse Siguiente.
Haga doble clic sobre el campo proNombre para indicar que ese
campo es el que empleará como origen del control y pulse
Siguiente.
Usted verá la lista de los nombres de productos que contiene la
tabla. Haga clic en el botón Siguiente.
Escriba Seleccione un producto como etiqueta del cuadro
combinado y haga clic en Finalizar

Subformularios
Los subformularios son formularios dentro de otros formularios y son empleados
comúnmente para mostrar registros de tablas que tienen alguna relación con el origen
de datos del formulario; por ejemplo, puede mostrarse los pedidos que se han hecho
sobre el producto que se esté mostrando en el formulario de productos, o los recibos
que corresponden al cliente que se esté viendo en el formulario de los clientes.
La siguiente vista muestra un formulario que presenta en el formulario padre a las
categorías y, como un subformulario, a los productos que pertenecen a aquella
categoría que se muestra actualmente.

Formulario y subformulario
Para crear un subformulario:
1. Muestre el formulario en vista diseño.

SENATI-Computación e Informática 59
Microsoft Office

Si es necesario, cambie la propiedad Vista predeterminada del formulario al valor


Un único formulario (no es posible colocar un subformulario en formularios
continuos)
2. Si es necesario, modifique el tamaño de la sección Detalle de modo que quepa
el subformulario que creará.
3. Asegúrese de que el Asistente para controles esté activado en el cuadro de
controles.
Subformulario 4. Haga clic en el botón Subformulario/Subinforme
/Subinforme
5. Haga clic en la sección Detalle, el Asistente para Subformularios se iniciará.
a. Indique si empleará una tabla como origen del subformulario o un
formulario que se pueda tomar como tal y haga clic en el botón
Siguiente.
b. Si decidió emplear una tabla o consulta deberá seleccionar cuál es e
indicar qué campos utilizará; haga clic en el botón Siguiente. Deberá
existir un campo del formulario padre que tenga valores relacionados
con un campo del formulario hijo.
c. El siguiente paso es de vital importancia para el proceso: usted deberá
indicar la relación que existe entre el formulario padre y el formulario
hijo. Como se mencionó previamente, debe haber un campo del
formulario padre que tenga valores relacionados con un campo del
formulario hijo.
d. Escriba el nombre del subformulario y haga clic en el botón Finalizar.
Información Cuando se crea un subformulario a partir de una tabla o consulta se genera un
adicional formulario nuevo.
No cambie el nombre de un subformulario después de haberlo colocado en un
formulario padre pues, si lo hace, este formulario no funcionará apropiadamente.

Actividad 8: Subformulario creado manualmente


Objetivo
En la base de datos Persform, usted creará el subformulario que se muestra en la
imagen Formulario y subformulario.
Procedimiento
1. Preparación del formulario padre:
a. Empleando el enlace Crear un formulario utilizando el asistente de la
ventana de la base de datos, cree un formulario que presente el Id de la
categoría, su nombre y descripción.
b. Muestre la vista diseño para colocar en negrita las etiquetas y ampliar la
sección Detalle.
2. Para colocar el subformulario:

60 SENATI-Computación e Informática
Formularios

a. Asegúrese de que el Asistente para controles esté activado en el cuadro


de controles.
Subformulario b. Haga clic en el botón Subformulario/Subinforme
/Subinforme
c. Haga clic en la sección Detalle, el Asistente para Subformularios se
iniciará.
d. Indique que empleará el formulario Múltiples productos como origen
del subformulario y haga clic en el botón Siguiente.
e. Para definir la relación entre el formulario padre y el hijo:
 Haga clic en el botón de opción Definir la mía propia.
 En los primeros cuadros combinados (de la
izquierda y derecha) elija el elemento catId
 Haga clic en el botón Siguiente.

f. Escriba el nombre del subformulario y haga clic en el botón Finalizar.

Utilizar el asistente para Subformularios/Subinformes Campos vinculados


entre formulario padre y formulario hijo
Emplear el asistente para formularios con dos tablas o consultas puede llevarlo a crear:
Un formulario convencional que tenga como origen de datos una instrucción
interna (alojada en la propiedad Origen del registro del formulario) que toma
campos de ambas tablas. Por ejemplo, tomando el caso de la tabla Categoría y
la tabla Producto, usted puede obtener el siguiente formulario:

Formulario que muestra solamente un registro a la vez

SENATI-Computación e Informática 61
Microsoft Office

Un formulario que “llama” a otro (a través de un botón de comando) para


mostrar los detalles de los registros relacionados.

Formulario que llama a otro

Un formulario que contenga un subformulario.

Formulario con subformulario

La presentación final que tengan los formularios depende de las indicaciones que se
den en el segundo paso del asistente, de acuerdo con las siguientes indicaciones:
Para obtener un formulario convencional elija que desea crear el formulario a
partir de la tabla hija en la relación (en el ejemplo presentado la tabla hija es
Producto)

62 SENATI-Computación e Informática
Formularios

Selección para un formulario convencional


Para crear un formulario que llame a otro indique que el formulario se creará a
partir de la tabla madre de la relación y que desea obtener formularios
vinculados.

Selección para crear formularios vinculados


Para crear un formulario con un subformulario active el botón Formulario con
subformulario después de indicar que desea ver los datos a través de la tabla
madre.

Selección para crear un formulario con un subformulario

SENATI-Computación e Informática 63
Microsoft Office

Actividad 9: Subformulario empleando el asistente para formularios


En la base de datos Persform, usted creará el formulario que se muestra en la
ilustración Formulario con subformulario.
Procedimiento
1. Inicie el asistente para formularios haciendo clic en el enlace Crear un
formulario utilizando el asistente.
2. En el primer paso, seleccione los campos catId, catNombre y catDescrip de la
tabla Categoría y los campos proNombre, medId y proPrecio de la tabla
Producto.
3. En el segundo paso, indique que desea ver los datos por categoría y que debe
ser creado un formulario con un subformulario tal y como se presenta en la
ilustración Selección para crear un formulario con un subformulario
4. Haga clic en el botón Siguiente hasta llegar al último paso del asistente, en él,
indique que el título del formulario será Categorías y productos III y que el
subformulario se llamará Productos III.
5. Haga clic en el botón Finalizar, vea el resultado en la vista Formulario,
guárdelo y ciérrelo.

Modificar el diseño del subformulario


Para modificar un subformulario:
1. Muestre el formulario en vista diseño.
2. Haga clic dentro de la sección detalle, dentro del subformulario y haga los
cambios que considere pertinentes como si estuviera en la vista diseño del
formulario del subformulario.

Preguntas de Repaso
1. ¿Cómo se cambia el texto que aparece en la barra de título de un formulario?
2. ¿Qué se debe hacer para tener cuadros combinados en la vista hoja de datos de
las tablas para aquellos campos que pertenecen al lado “hijo” de una relación
entre dos tablas?
3. ¿Qué ventaja proporciona crear cuadros combinados de búsqueda en la vista
hoja de datos de las tablas?
4. ¿Cómo se crea un cuadro de texto calculado?
5. En la siguiente imagen, señale los siguientes elementos: sección encabezado,
sección de detalle, sección pie del formulario, separadores de registros, selector
de registro, botones de desplazamiento, barra de desplazamiento vertical.

64 SENATI-Computación e Informática
Formularios

Nota: El texto “47 distritos en el formulario” es un campo calculado


6. ¿Cómo se cambia el formato de un formulario?
7. ¿Qué es el orden de tabulación y cómo se modifica?
8. ¿Qué debe hacerse para que un formulario creado con el botón Autoformulario
presente las secciones Encabezado y Pie?
9. ¿Cómo se amplía el alto de la sección Detalle de un formulario?
10. ¿Cómo se crea un formulario continuo?
11. ¿Por qué debe haber un campo común entre un subformulario y su formulario
padre?

Ejercicios Casos Propuestos


Actividad propuesta 1
Abra la base de datos Transporte que emplea una empresa de transportes para el
registro de sus actividades. En ella:
a. Haga que la vista hoja de datos se muestre con cuadros combinados para los
campos Ruta, Horario y Servicio.

SENATI-Computación e Informática 65
Microsoft Office

Vista hoja de datos de la tabla Salida

b. Cree el siguiente formulario:

Actividad propuesta 2
Abra la base de datos Biblioteca y en ella:
1. Cree los formularios vinculados que se muestran a continuación:

2. Cree el siguiente formulario:

66 SENATI-Computación e Informática
Formularios

Actividades de investigación
Emplee cualquier base de datos para realizar las siguientes actividades:
1. Cree el formulario mostrado en la ilustración Formulario que muestra
solamente un registro a la vez de la tabla Usuario y vea qué contiene la
propiedad Origen del registro del formulario.
2. Cree un cuadro combinado de búsqueda en la vista hoja de datos de una tabla y
luego muestre las propiedades de búsqueda de dicho campo tal como se
presenta en la siguiente ilustración:

SENATI-Computación e Informática 67
Microsoft Office

Propiedades de búsqueda del campo catID de la tabla Productos de la base de


datos Persform

Modifique la propiedad Ancho de columnas para que su nuevo valor sea 1;1
(dependiendo de cuál sea la configuración regional que haya sido establecida en
el panel de control de Windows, es posible que usted deba escribir 1,1), guarde
el diseño y muestre la vista Hoja de datos; ¿qué efecto se ha producido?
¿Es posible que un formulario que muestra un registro a la vez se convierta en un
formulario continuo? ¿Qué limitaciones hay para esto?

68 SENATI-Computación e Informática
Capítulo

Utilidades
En este capítulo trataremos:

Establecer Seguridad en una Base de Datos


Compactar y reparar una BD

SENATI-Computación e Informática 69
Microsoft Office

Formas de abrir una base de datos


Abrir una base de datos de Access desde el Explorador de Windows
En el Explorador de Windows, vaya a la unidad o carpeta que contiene el archivo de
base de datos de Access que desea abrir y haga doble clic en la base de datos.
Se inicia Access y se abre la base de datos.

Abrir una base de datos en Access


Si ya se está ejecutando Access, utilice el procedimiento siguiente para abrir la base de
datos:

1. Haga clic en el Botón Microsoft Office y, a continuación, haga clic en


Abrir.
2. Haga clic en un acceso directo del cuadro de diálogo Abrir o en el cuadro
Buscar en y, a continuación, haga clic en la unidad o carpeta que contenga la
base de datos que desee.
3. En la lista de carpetas, vaya a la carpeta que contiene la base de datos.
4. Cuando encuentre la base de datos, siga uno de estos procedimientos:
Haga doble clic en la base de datos para abrirla en el modo
predeterminado especificado en el cuadro de diálogo Opciones de
Access o en el modo establecido por una directiva administrativa.
Haga clic en Abrir para abrir la base de datos para acceso compartido
en un entorno de multiusuario, de manera que cualquier usuario pueda
leer y escribir en la base de datos.

70 SENATI-Computación e Informática
II: Utilidades

Haga clic en la flecha situada junto al botón Abrir y, a continuación, en


Abrir en modo sólo lectura para abrir la base de datos en acceso de
sólo lectura y, de esta forma, poder verla pero no editarla. Otros
usuarios pueden seguir leyendo y escribiendo en la base de datos.
Haga clic en la flecha situada junto al botón Abrir y, a continuación, en
Abrir en modo exclusivo para abrir la base de datos en acceso
exclusivo. Cuando tiene una base de datos abierta en acceso exclusivo,
cualquiera que intente abrir la base de datos recibe el mensaje "el
archivo ya está en uso".
Haga clic en la flecha situada junto al botón Abrir y, a continuación, en
Abrir en modo exclusivo de sólo lectura para abrir la base de datos en
acceso exclusivo. Otros usuarios pueden seguir abriendo la base de
datos pero estarán limitados al modo de sólo lectura.

Si no puede encontrar la base de datos que desea abrir


1. En el cuadro de diálogo Abrir, haga clic en el acceso directo Equipo situado a
la izquierda (o en el cuadro Buscar…, haga clic en Equipo).

SENATI-Computación e Informática 71
2. En la lista de unidades, haga clic con el botón secundario del mouse (ratón) en
la unidad en la que cree que podría estar la base de datos y haga clic en Buscar.
3. Especifique sus criterios de búsqueda y presione ENTRAR para buscar la base de
datos.
4. Si encuentra la base de datos, haga doble clic en ella en el cuadro de diálogo de
búsqueda para abrirla.
5. Como la búsqueda se inició en el cuadro de diálogo Abrir, debe hacer clic en
Cancelar de ese cuadro de diálogo antes de abrir la base de datos.

Sugerencias:
Para abrir una de las últimas bases de datos que se hayan abiertas, haga clic en el
nombre de archivo en la lista Abrir base de datos reciente en la página Introducción
a Microsoft Office Access. Access abrirá la base de datos con la misma configuración
de opciones que tenía cuando se abrió por última vez. Si no se muestra la lista de
archivos recientemente utilizados:

1. Haga clic en el botón Microsoft Office y, a continuación, haga clic en


Opciones de Access.
2. En el cuadro de diálogo Opciones de Access, haga clic en Avanzadas.

3. En Mostrar, escriba un número en el cuadro Mostrar este número de


documentos recientes (el máximo es nueve).

72 SENATI-Computación e Informática
II: Utilidades

Si está abriendo una base de datos utilizando el comando Abrir, puede ver una
lista de accesos directos a bases de datos que ha abierto anteriormente haciendo
clic en Documentos recientes en el cuadro de diálogo Abrir.

Abrir varias bases de datos al mismo tiempo


En una única instancia de Access, puede tener sólo una base de datos abierta a la vez.
Es decir, no puede iniciar Access, abrir una base de datos y después abrir otra base de
datos sin cerrar la primera. Sin embargo, puede ejecutar varias instancias de Access al
mismo tiempo, cada una de ellas con una base de datos abierta. Cada vez que inicia
Access, abre una nueva instancia de la aplicación. Por ejemplo, para tener dos bases de
datos de Access abiertas al mismo tiempo, inicie Access y abra la primera base de
datos y, a continuación, inicie una nueva instancia de Access y abra la segunda base de
datos.

Para disponer más de una ventana de Access en mosaico


1. Para aquellos programas que no desea organizar en mosaico, haga clic en el
botón Minimizar de la esquina superior derecha de la ventana.
2. Haga clic con el botón secundario del mouse en la barra de tareas de Windows
y, a continuación, haga clic en Mosaico vertical.
Después de haber dispuesto las ventanas en mosaico, puede copiar y pegar datos más
fácilmente, así como arrastrar y colocar objetos de base de datos en las bases de datos
de Access.

SENATI-Computación e Informática 73
Microsoft Office

Crear un acceso directo en el escritorio para abrir un objeto de base de datos


Puede crear un acceso directo en el escritorio para abrir un objeto de base de datos de
Access (por ejemplo, un formulario o informe). La base de datos se puede almacenar
localmente en el equipo, remotamente en un servidor de archivos de red o en un
directorio compartido.
1. Abra la base de datos que contiene el objeto para el que desea crear un acceso
directo.
2. Cambie el tamaño de la ventana de Access y minimice cualquier otra ventana
abierta para poder ver el escritorio detrás de la ventana de Access.
3. En el panel de exploración, busque el objeto para el que desea crear el acceso
directo.
4. Arrastre el objeto del panel de exploración al escritorio. Cuando suelte el botón
del mouse, se crea el acceso directo en el escritorio.
5. Si desea el acceso directo en una ubicación distinta al escritorio, utilice el
Explorador de Windows para mover el acceso directo a la ubicación deseada.
Si hace doble clic en el acceso directo, Access abre la base de datos en donde está
almacenado el objeto y lo muestra. Si Access ya está ejecutándose y el objeto asociado
con el acceso directo se encuentra en otra base de datos distinta a la base de datos
actualmente abierta, se inicia una instancia nueva de Access. Para abrir el objeto en una
vista específica en Access, haga clic con el botón secundario del mouse en el acceso
directo y, a continuación, seleccione la vista que desee.

Seguridad
Office Access 2007 proporciona un modelo de seguridad mejorada que ayuda a
simplificar el proceso de aplicar seguridad a una base de datos y de abrir una base de
datos con la seguridad habilitada.
A continuación aparece una lista de las nuevas funciones de seguridad d e Office
Access 2007:
Posibilidad de ver los datos, incluso cuando no se desea habilitar ningún
código deshabilitado de Microsoft Visual Basic para Aplicaciones (VBA) o
ningún componente deshabilitado de una base de datos. En Microsoft
Office Access 2003, si se establecía el nivel de seguridad en Alto, había que
firmar código y confiar en una base de datos para poder ver los datos. En
Office Access 2007, se pueden abrir bases de datos y ver los datos sin tener
que habilitar la base de datos.
Mayor facilidad de uso. Si se colocan archivos de bases de datos (ya sea
con el formato de archivo de Office Access 2007 o formatos de archivo
anteriores) en una ubicación de confianza, como una carpeta de archivos o
un recurso de red designados como seguros, esos archivos se abrirán y se
ejecutarán sin que se muestre ningún mensaje de advertencia o sin que se
pida que se habilite contenido deshabilitado. Asimismo, si se abren bases de
datos de las versiones anteriores de Access, como .mdb o .mde, en Office

74 SENATI-Computación e Informática
II: Utilidades

Access 2007, esas bases de datos llevan firma digital y se ha optado por
confiar en el publicador, esos archivos se ejecutarán sin que sea necesario
tomar decisiones en materia de confianza. No obstante, recuerde que el
código de VBA de una base de datos firmada no se ejecutará hasta que se
confíe en el publicador y tampoco se ejecutará si la firma digital deja de ser
válida. Una firma pierde su validez cuando un usuario que no sea el
firmante altera el contenido de una base de datos. Para obtener más
información sobre la firma de bases de datos, vea la sección Cómo funciona
la seguridad con las bases de datos de las versiones anteriores de Access
que se abren en Office Access 2007.
Si no sabe con seguridad si un certificado es de confianza, el artículo Cómo
saber si una firma digital es de confianza proporciona información general
acerca de la comprobación de las fechas y otros elementos de un certificado
para saber si es válido o no.
Centro de confianza. El Centro de confianza es un cuadro de diálogo que
proporciona una sola ubicación para definir y cambiar la configuración de
seguridad de Access. Se usa el Centro de confianza para crear o cambiar las
ubicaciones de confianza y configurar las opciones de seguridad de Office
Access 2007. Esa configuración afecta a la manera en que las bases de
datos nuevas y existentes se comportan cuando se abren en esa instan cia de
Access. El Centro de confianza contiene asimismo lógica para evaluar los
componentes de una base de datos y determinar si es seguro abrir la base de
datos o si el Centro de confianza debe deshabilitarla y dejar que el usuario
decida si desea habilitarla. Para obtener información sobre el uso del Centro
de confianza con Access, vea la sección Usar una base de datos de Office
Access 2007 en una ubicación de confianza, que aparece más adelante en
este artículo.
Para obtener información general sobre el uso del Centro de confianza, vea
el artículo Ver la configuración de seguridad y privacidad en el Centro de
confianza.
Menos mensajes de advertencia. En las versiones anteriores de Access,
aparecía una gran variedad de mensajes de alerta: la seguridad de macros y
el modo de recinto de seguridad, para citar sólo dos. De forma
predeterminada, si se abre una base de datos de Office Access 2007 fuera
de una ubicación de confianza, se ve una sola herramienta denominada
barra de mensajes.

Si se sabe con certeza que se puede confiar en la base de datos, se puede


usar la herramienta Barra de acciones del documento para habilitar los
componentes deshabilitados, es decir, consultas de acción (consultas que
agregan, eliminan o cambian datos), macros, controles ActiveX,
expresiones (funciones que se evalúan como un solo valor) y código de
VBA, cuando se abre una base de datos que contiene uno o varios de esos
componentes.

SENATI-Computación e Informática 75
Microsoft Office

Nuevas formas de firmar y distribuir los archivos creados con el formato de


archivo de Office Access 2007. En las versiones anteriores de Access, se
usaba el Editor de Visual Basic para aplicar un certificado de seguridad a
los componentes individuales de las bases de datos. En Office Access 2007,
se empaqueta la base de datos y, a continuación, se firma y se distribuye el
paquete. Si se extrae una base de datos desde un paquete firmado hasta una
ubicación de confianza, la base de datos se ejecuta sin que se muestre la
barra de mensajes. Si se extrae una base de datos desde un paquete firmado
hasta una ubicación que no es de confianza, pero se confía en el certificado
del paquete y la firma es válida, no es necesario tomar ninguna decisión en
materia de confianza. Cuando se empaqueta y se firma una base de datos
que no es de confianza o que contiene una firma digital no válida, es
preciso usar la barra de mensajes para confiar en la base de datos cada vez
que se abre, a menos que se coloque la base de datos en una ubicación de
confianza.
Algoritmo más seguro para cifrar las bases de datos con formato de archivo
de Office Access 2007 que usan la característica de contraseña. Al cifrarse
una base de datos, se codifican los datos de las tablas y se ayuda a evitar
que usuarios no deseados lean los datos.
Nueva subclase de acciones de macro que se ejecutan cuando se deshabilita
una base de datos. Estas macros más seguras contienen asimismo funciones
de tratamiento de errores. Además, las macros (incluso las que contienen
acciones que Access deshabilita) se pueden incrustar directamente en
cualquier propiedad de formulario, informe o control que funcione
lógicamente con un módulo de código de VBA o una macro de una versión
anterior de Access.

Por último, recuerde estas reglas a medida que avance:


Si se abre la base de datos en una ubicación de confianza, se ejecutan todos
los componentes sin que sea necesario tomar ninguna decisión en materia
de confianza.
Cuando se empaqueta, se firma y se implementa una base de datos de una
versión anterior de Access (.mdb o .mde), se ejecutan todos los
componentes sin que sea necesario tomar ninguna decisión en materia de
confianza si la base de datos contiene una firma digital válida de un
publicador de confianza y se confía en el certificado.
Si se firma y se implementa una base de datos que no es de confianza en
una ubicación que no es de confianza, el Centro de confianza deshabilita la
base de datos de forma predeterminada y se debe optar por habilitar la base
de datos cada vez que se abre. Para obtener más información, vea la sección
Habilitar contenido deshabilitado al abrirse una base de datos.

76 SENATI-Computación e Informática
II: Utilidades

Cifrar una Base de Datos mediante contraseña


Se cifra una base de datos de Microsoft Office Access 2007 cuando se necesita ocultar
datos e impedir que usuarios no deseados abran la base de datos.
1. Abra la base de datos que desee cifrar en modo Exclusivo.
¿Cómo se abre una base de datos en modo Exclusivo?

a. Haga clic en el Botón Microsoft Office y, a continuación, haga


clic en Abrir.
b. En el cuadro de diálogo Abrir, busque el archivo que desee abrir y,
a continuación, seleccione el archivo haciendo clic en él.
c. Haga clic en la flecha situada junto al botón Abrir y, a continuación,
haga clic en Abrir en modo exclusivo. En la siguiente ilustración se
refleja el menú.

2. En la ficha Herramientas de base de datos, en el grupo Herramientas de


base de datos, haga clic en Cifrar con contraseña.

Aparece el cuadro de diálogo Establecer contraseña para la base de datos .


3. Escriba la contraseña en el cuadro Contraseña, escríbala de nuevo en el cuadro
Confirmar y, a continuación, haga clic en Aceptar.

Utilice contraseñas seguras que combinen letras en mayúsculas y minúsculas,


números y símbolos. Las contraseñas no seguras son aquellas que no combinan
estos elementos. Un ejemplo de contraseña segura sería Y6dh!et5 y de
contraseña no segura, Casa27. Las contraseñas deben tener 8 o más caracteres.

SENATI-Computación e Informática 77
Microsoft Office

Una frase con 14 o más caracteres es todavía mejor. Para obtener más
información, vea Ayudar a proteger la información personal con contraseñas
seguras.
Es fundamental que recuerde la contraseña. Si la olvida, Microsoft no puede
recuperarla. Guarde las contraseñas que anote en un lugar seguro, lejos de la
información que ayudan a proteger.

Descifrar una base de datos


1. Abra la base de datos cifrada de la misma manera que se abre cualquier otra
base de datos.
Aparece el cuadro de diálogo Solicitud de contraseña.

2. Escriba la contraseña en el cuadro Escriba la contraseña de la base de datos


y, a continuación, haga clic en Aceptar.

Quitar contraseña de una Base de Datos


Cuando se quita una contraseña de una base de datos, se puede restaurarla en cualquier
momento (o usar otra contraseña) repitiendo los pasos descritos en la sección Cifrar
una base de datos mediante una contraseña, que aparece anteriormente en este artículo.

1. Haga clic en el Botón Microsoft Office y, a continuación, haga clic en


Abrir.
2. En el cuadro de diálogo Abrir, busque el archivo que desee abrir y, a
continuación, seleccione el archivo haciendo clic en él.
3. Haga clic en la flecha situada junto al botón
Abrir y, a continuación, haga clic en Abrir en
modo exclusivo. En la siguiente ilustración se
refleja el menú.
4. En la ficha Herramientas de base de datos,
en el grupo Herramientas de base de datos,
haga clic en Descifrar base de datos.

78 SENATI-Computación e Informática
II: Utilidades

Aparece el cuadro de diálogo Anular la contraseña establecida para la base


de datos.

5. Escriba la contraseña en el cuadro Contraseña y, a continuación, haga clic en


Aceptar.

Uso del centro de confianza


El Centro de confianza es donde puede encontrar la configuración de seguridad y
privacidad de los programas de 2007 Microsoft Office system. Los niveles de
seguridad Muy alta, Alta, Media y Baja utilizados en versiones anteriores de Office se
han reemplazado ahora por un sistema de seguridad más sencillo.
1. Siga estos pasos en estos programas de 2007 Microsoft Office system:
Word, Excel, PowerPoint o Access

Haga clic en el botón de Microsoft Office y, a continuación, en


Opciones de Nombre del programa, donde Nombre de programa es el
nombre del programa que está utilizando, por ejemplo, Opciones de
Access.
2. Haga clic en Centro de confianza y, a continuación, en Configuración del
Centro de confianza.

SENATI-Computación e Informática 79
Microsoft Office

Compactar y reparar una BD


Para garantizar un rendimiento óptimo, se recomienda compactar y reparar los archivos
de Microsoft Access con regularidad. Asimismo, si se produce un problema grave
cuando está trabajando con un archivo de Access y el programa intenta recuperarlo,
puede aparecer un mensaje de error que indique que la operación de reparación se
canceló y que debe compactar y reparar el archivo.
Precaución Al compactar un archivo de Microsoft Access ubicado en un volumen qu e
utiliza el sistema de archivos NTFS, Access quita el archivo existente y lo reemplaza
por el archivo compactado. A continuación, aplica los permisos de archivos
predeterminados al nuevo archivo. Si el archivo es una base de datos de Access, utilice
la seguridad por usuarios de Access en lugar de los permisos de nivel de archivo. En
caso contrario, utilice permisos de carpetas. Para obtener más información sobre el
sistema de archivos NTFS y los permisos de carpetas, vea la Ayuda de Windows.
Para compactar y reparar una base de datos de Access, debe tener permisos de Abrir o
ejecutar y de Abrir en modo exclusivo.

Compactar y reparar el archivo de Access con el que está trabajando


1. Si va a compactar una base de datos compartida de Microsoft Access que está
ubicada en un servidor o en una carpeta compartida, asegúrese de que ningún
otro usuario la tiene abierta.
2. En el menú Office, seleccione Administrar y, a continuación, haga clic en
Compactar y reparar base de datos

80 SENATI-Computación e Informática
II: Utilidades

Compactar y reparar un archivo de Access que no está abierto


1. Cierre el archivo de Microsoft Access que tiene abierto. Si va a compactar una
base de datos compartida de Access que está ubicada en un servidor o en una
carpeta compartida, asegúrese de que ningún otro usuario la tiene abierta.
2. En el menú Office, seleccione Administrar y, a continuación, haga clic en
Compactar y reparar base de datos.
3. En el cuadro de diálogo Base de datos a compactar, especifique el archivo de
Access y, a continuación, haga clic en Compactar.
4. En el cuadro de diálogo Compactar la base de datos en, especifique un
nombre, una unidad y una carpeta para el archivo de Access compactado.
5. Haga clic en Guardar.
Si utiliza el mismo nombre, unidad y carpeta, y la base de datos de Access o
proyecto de Access se compacta con éxito, Microsoft Access reemplaz a el
archivo original por la versión compactada.

Compactar y reparar un archivo de Access automáticamente cada vez que se


cierre
La compactación no tiene lugar si cierra una base de datos compartida de Access
mientras otro usuario la tiene abierta.
1. Abra la base de datos de Access o proyecto de Access que desee compactar
automáticamente.
2. En el menú Office, haga clic en Opciones de Access.

SENATI-Computación e Informática 81
Microsoft Office

3. Haga clic en Base de Datos Actual


4. Active la casilla de verificación Compactar al cerrar.

Nota: Para detener el proceso de compactación y reparación, puede presionar la


combinación de teclas CTRL+ENTER o la tecla ESC.

Convertir a otras versiones

Características nuevas del formato de archivo de Office Access 2007

Campos de búsqueda multivalor


La mayoría de los programas de base de datos, incluidas las versiones anteriores de
Access, sólo permiten almacenar un valor único en cada campo. Sin embargo, en
Office Access 2007 puede crear ahora un campo de búsqueda que le permite almacenar
más de un valor en cada campo. En efecto, crea una relación de varios a varios en cada
campo y oculta los detalles de la implementación mediante tablas de sistema.
Por ejemplo, suponga que tiene una tabla Tareas con un campo de búsqueda que ha
utilizado para asignar la tarea a un empleado. ¿Qué ocurre si tiene una tarea que debe
asignar a varios empleados? En las versiones anteriores de Access, tendría qu e
configurar una nueva tabla de referencias cruzadas para almacenar cada combinación
de tarea y empleado, y revisar a continuación los formularios e informes para utilizar la
nueva estructura de datos. En Office Access 2007, es mucho más sencillo si se
implementa un campo de búsqueda multivalor. En lugar de seleccionar únicamente un
elemento en una lista desplegable, ahora cada elemento de la lista tiene una casilla de
verificación para que pueda seleccionar todos los que desee. Las selecciones múltiples
se muestran en el campo, separadas por comas.

Tipo de datos Datos adjuntos


El nuevo tipo de datos Datos adjuntos permite almacenar fácilmente todos los tipos de
documentos y archivos binarios de la base de datos sin necesidad de sobrecargar la

82 SENATI-Computación e Informática
II: Utilidades

base de datos. Los datos adjuntos se comprimen automáticamente cuando así se


requiere para racionalizar el uso del espacio. Puede anexar un documento de Microsoft
Office Word 2007 a un registro o guardar una serie de imágenes digitales. Puede
incluso anexar varios datos adjuntos a un único registro.

Integración con Microsoft Windows SharePoint Services 3.0 y Microsoft Office


Outlook 2007
En el pasado, los archivos Access se habrían bloqueado en Windows SharePoint
Services 3.0 y Office Outlook 2007 porque se podría incluir código no seguro en una
base de datos de Access. Office Access 2007 implementa un nuevo formato qu e
permite que el código se compruebe como seguro o se deshabilite. De esta forma la
integración de las bases de datos de Access con Windows SharePoint Services 3.0 y
Office Outlook 2007 es mucho más completa, y también permiten programas antiviru s
para inspeccionar con más facilidad los archivos de base de datos de Access.

Trabajar con los datos de SharePoint sin estar conectado


Puede desconectar las listas de SharePoint con un solo clic mediante Office Access
2007. Trabaje con los datos en Access y, despu és, sincronice los cambios, o bien,
vuelva a conectarse más adelante con el sitio de SharePoint.

Seguimiento del historial de los campos Memo


Los campos Memo sirven para almacenar grandes cantidades de información. En
Office Access 2007, puede definir una propiedad (SóloAnexar (AppendOnly)) que
obligue a Access a conservar un historial de todos los cambios efectuados en un campo
Memo. A continuación, puede ver un historial de esos cambios. Esta característica
admite la función de control de versiones de Wi ndows SharePoint Services 3.0, por lo
que puede utilizar Access para realizar un seguimiento de los cambios realizados en un
campo de varias líneas de texto almacenado en una lista de SharePoint (siempre que el
campo tenga la opción Anexar cambios al texto existente establecida en Sí).

Tablas vinculadas
Puede vincular una tabla con un formato anterior de Access a una base de datos de una
versión posterior de Access, pero no puede vincular una tabla de una versión posterior
de Access a una base de datos de una versión anterior de Access. Por ejemplo, puede
crear un vínculo desde una base de datos .accdb a tablas de otra base de datos .accdb o
a tablas de una base de datos .mdb, pero no puede crear un vínculo desde una base de
datos .mdb a tablas de una base de datos .accdb.

Réplica
La réplica no se admite en el formato de archivo de Office Access 2007. Puede utilizar
Office Access 2007 para replicar una base de datos creada en un formato de archivo
anterior, pero no la creada en el formato de Office Access 2007.

SENATI-Computación e Informática 83
Archivos de información de grupo de trabajo (MDW)
Los archivos de información de grupo de trabajo almacenan información para bases de
datos seguras. No se ha realizado ningún cambio en el formato de archivo .mdw en
Office Access 2007. El administrador del grupo de trabajo de Office Access 2007
creará archivos .mdw idénticos a los que se crearon en Access 2000 a través de Access
2003, y los archivos .mdw creados en las versiones anteriores se pueden utilizar en las
bases de datos de Office Access 2007.

Bloqueo de archivos
Cuando se abre una base de datos, un archivo de bloqueo controla el bloqueo de
archivos. Cuando se abre un archivo .mdb, Access crea y abre un archivo de bloqueo
.ldb. Esto ocurre aunque utilice Office Access 2007 para abrir un archiv o de base de
datos .mdb. Por ejemplo, cuando se abre el archivo Db1.mdb, Access crea y abre un
archivo llamado Db1.ldb que controla el bloqueo. En el caso de aquellos archivos
creados en formato de archivo de Office Access 2007 (archivos .accdb), Access
controla el bloqueo creando y abriendo un archivo con una extensión de nombre de
archivo de .laccdb. Por ejemplo, si se abre Db1.accdb, Access crea y abre un archivo de
bloqueo llamado Db1.laccdb. Al igual que en los archivos .ldb, los archivos .laccdb se
eliminan automáticamente cuando todos los usuarios cierran la base de datos.
Al mantener archivos de bloqueo independientes para los archivos de Office Access
2007 y para los archivos creados en versiones anteriores de Access, es posible tener
ambos archivos Db1.mdb y Db1.accdb abiertos en Office Access 2007 al mismo
tiempo, sin crear conflictos en el archivo de bloqueo, porque se crean dos archivos de
bloqueo distintos. Es posible tener el mismo archivo .mdb abierto en Office Access
2007 y en una versión anterior de Access al mismo tiempo, mientras las dos versiones
utilizan el mismo archivo de bloqueo .ldb.

Los formatos ACCDB y MDB


Office Access 2007 incluye nuevas extensiones de archivo:
ACCDB Extensión de archivo para el nuevo formato de archivo de Office
Access 2007. Sustituye a la extensión de archivo MDB.
ACCDE Extensión de archivo de los archivos de Office Access 2007 que se
encuentran en modo de sólo ejecución. A todos los archivos ACC DE se les ha
quitado el código fuente de Visual Basic para Aplicaciones (VBA). Los
usuarios de archivos ACCDE sólo pueden ejecutar el código VBA, no
modificarlo. ACCDE sustituye a la extensión de archivo MDE.
ACCDT Extensión de archivo de Plantillas de base de datos de Access.
ACCDR ACCDR es una nueva extensión de archivo que permite abrir una
base de datos en modo de tiempo de ejecución. Cambiando simplemente la
extensión de archivo de una base de datos de .accdb a .accdr, puede crear una
versión "bloqueada" de la base de datos de Office Access 2007. Puede
modificar la extensión de archivo de nuevo a .accdb para que recupere toda su
funcionalidad.

84 SENATI-Computación e Informática
II: Utilidades

Archivos ACCDE
Un archivo .accde es la versión de Office Access 2007 del archivo .mde en versiones
anteriores de Access. Es una versión bloqueada del archivo .accdb original. Si el
archivo .accdb contenía código de VBA, sólo se incluye el código compilado en el
archivo .accde y por tanto, el usuario no puede consultar ni modificar el código de
VBA. Además, los usuarios del archivo .accde no tienen permiso para realizar
modificaciones de diseño en los formularios o informes. Puede crear archivos .accde a
partir de archivos .accdb mediante el siguiente procedimiento:

Crear un archivo ACCDE en Office Access 2007


1. En Office Access 2007, abra la base de datos que desea guardar como un
archivo .accde.
2. En la ficha Herramientas de base de datos, en el grupo Herramientas de

base de datos, haga clic en Crear ACCDE.


3. En el cuadro de diálogo Guardar como, desplácese a la carpeta en la que desea
guardar el archivo, especifique un nombre para el archivo en el cuadro Nombre
de archivo y, a continuación, haga clic en Guardar.

Convertir una base de datos al formato de archivos de Access 2007


Puede convertir bases de datos de versiones anteriores de Access al formato de archivo
de Microsoft Office Access 2007, abrir bases de datos de versiones anteriores de
Access sin convertirlas y cambiar el formato de archivo predeterminado para las
nuevas bases de datos que cree.
Convertir una base de datos de Access a un formato de archivo diferente.

1. Si el archivo que desea convertir no está abierto, haga clic en el Botón de


Microsoft Office y haga clic en Abrir. Busque el archivo y, a
continuación, haga doble clic en él para abrirlo.
Si se muestra el cuadro de diálogo Mejoras de base de datos y se le solicita
que actualice la base de datos, significa que el formato de archivo de la base de
datos que está abriendo es anterior a Access 2000. Para continuar, haga caso
omiso de la sección Abrir archivos de versiones anteriores de Access en Office
Access 2007.

2. Haga clic en el botón de Microsoft Office , seleccione Guardar como y, a


continuación, en Guardar base de datos en otro formato, haga clic en el
formato al que desee convertir el archivo.

SENATI-Computación e Informática 85
Microsoft Office

Por ejemplo, puede hacer clic en Formato de archivo actual para guardar la
copia en el mismo formato que el original, o puede elegir uno de los otros
formatos de archivo.
Es importante tener en cuenta que si está abierto algún objeto de la base de
datos cuando utiliza el comando Guardar base de datos en otro formato,
Access le pedirá que lo cierre para poder crear la copia. Haga clic en Sí para
que Access cierre los objetos, o bien, haga clic en No para cancelar todo el
proceso. Si es necesario, Access le pedirá que guarde los cambios.
3. En el cuadro de diálogo Guardar como, escriba un nombre de archivo para la
copia de la base de datos en el cuadro Nombre de archivo y, a continuación,
haga clic en Guardar.
Access crea una copia de la base de datos y después la abre. Access cierra
automáticamente la base de datos original.
Si tiene una base de datos de Office Access 2007 (.accdb) que desea guardar en un
formato de archivo anterior de Access (.mdb), podrá hacerlo siempre que la base de
datos .accdb no contenga campos de búsqueda multivalor, datos sin conexión o datos
adjuntos. Si intenta convertir una base de datos .accdb que contenga alguno de estos
elementos a un formato de archivo .mdb, Access mostrará un mensaje de error.

Abrir archivos de versiones anteriores de Access en Office Access 2007


Al abrir una base de datos .mdb en formato de archivo Access 97 o Access 95, Access
muestra el cuadro de diálogo Mejoras de base de datos, donde se le solicita que
actualice la base de datos.

86 SENATI-Computación e Informática
Capítulo

Trabajando con datos externos


En este capítulo aprenderemos:

Importar y Exportar datos


Preparar y vincular la información con un sitio
SharePoint

SENATI-Computación e Informática 87
atos Externos

Importar
Access te permite importar objetos de otra base de datos a la tuya rápidamente.
Para ello, sólo tendremos que acudir a la pestaña Datos externos, una vez allí
seleccionar una opción de la sección Importar.

Aquí podemos seleccionar qué tipo de archivo contiene los datos que queremos
importar.

Access
Si quieres importar objetos de una base de datos a otra sólo tienes que hacer clic en el
botón Access.
Se abrirá el siguiente cuadro de diálogo:

Para importar un objeto de una base de datos Access, ya sea una tabla, formulario,
informe, macro, etc... solo tendremos que seleccionar la base de datos de origen y
pulsar el botón Aceptar.

En el siguiente cuadro de diálogo sólo tendremos que seleccionar los objetos que
queremos añadir a nuestra base de datos y pulsar el botón Aceptar.

SENATI-Computación e Informática 89
Microsoft Office

En la imagen verás que el botón Opciones>> se encuentra desactivado, es porque


hemos hecho clic sobre él y entonces han aparecido las opciones en la parte inferior del
cuadro. Desde allí podrás seleccionar cómo y en qué medida quieres importar los
objetos.
Como habrás podido observar existen otros métodos de importación de datos, podrás
acceder a ellos haciendo clic en los diferentes botones de la sección Importar.

Excel
Para almacenar datos de Excel en una base de datos de Access y utilizar y mantener
estos datos en Access de ahora en adelante, puede importar los datos. Cuando se
importan datos, Access los almacena en una tabla nueva o existente sin modificarlos.
Sólo puede importar una hoja de cálculo cada vez durante una operación de
importación. Para importar datos de varias hojas de cálculo, repita la operación de
importación para cada hoja de cálculo.
A continuación se incluyen algunos escenarios comunes de importación de datos de
Excel en Access:
Utiliza Excel con mucha frecuencia, pero a partir de ahora desea utilizar Access
para trabajar con estos datos. Desea mover los datos de las hojas de cálculo de
Excel a una o varias bases de datos de Access.
Su departamento o grupo de trabajo utiliza Access, pero de vez en cuando recibe
datos en formato de Excel que debe combinar con bases de datos de Access.
Desea importar estas hojas de cálculo de Excel a la base de datos cuando la s
recibe.

90 SENATI-Computación e Informática
atos Externos

Utiliza Access para administrar los datos, pero los informes semanales que recibe
del resto de los integrantes de su equipo son libros de Excel. Desea agilizar el
proceso de importación para asegurarse de que los datos se importan cada
semana a una hora específica a la ba se de datos.
Si quieres importar objetos de un archivo de Excel solo tienes que hacer clic en el
botón Excel.
Se abrirá el siguiente cuadro de diálogo:

Para importar una hoja del archivo de Excel, hay que indicarle cual Hoja de
Trabajo, o bien, Mostrar Rangos con Nombres, si previamente se han definido y
pulsar el botón Siguiente.

SENATI-Computación e Informática 91
Microsoft Office

Verificar si la Primera Fila tiene encabezados de Columna.

Si es posible especificar algunas Características sobre las Opciones de Campo, por


ejemplo el tipo de datos , o si va a ser indexado

Luego de Presionar Siguiente, tendrás que definir una clave principal para la tabla
que estas importando, en caso contrario Access lo hará por ti.

92 SENATI-Computación e Informática
atos Externos

Por último indicarle el nombre que va a tener

Lista de SharePoint
Importar una lista de SharePoint crea una copia de la lista en una base de datos de
Access. Durante la operación de importación, puede especificar las listas que desea
copiar y, para cada lista seleccionada, puede indicar si desea importar toda la lista o
sólo una vista específica.
La operación de importación crea una tabla en Access, y copia las columnas y los
elementos de la lista de origen (o de la vista) en la tabla en forma de campos y
registros. Para obtener más información sobre las tablas y sobre cómo está
estructurada una base de datos, vea los vínculos de la sección Vea también.
Al final de la operación de importación, puede elegir guardar la información de la
operación de importación como una especificación. Una especificación de
importación ayuda a repetir la operación de importación en el futuro sin tener que
examinar el Asistente para importación cada vez.

SENATI-Computación e Informática 93
Microsoft Office

Escenarios comunes para importar una lista a Access


En general, una lista de SharePoint se importa a una base de datos de Access por
estos motivos:
Si ya no necesita la lista en el sitio de SharePoint, puede mover una lista de forma
permanente, como la lista Contactos, a una base de datos de Access. Puede importar
la lista a Access y eliminarla del sitio de SharePoint.
Su departamento o grupo de trabajo utiliza Access pero utiliza ocasionalmente una
lista de SharePoint para obtener datos adicionales que se deben combinar en una de
sus bases de datos.

Prepararse para la operación de importación


1. Busque el sitio de SharePoint que contiene las listas que desea copiar y anote
la dirección del sitio.
Una dirección válida de un sitio empieza por http:// seguido del nombre del
servidor y finaliza con la ruta al sitio específico en el servidor.
2. Identifique las listas que desea copiar a la base de datos y decida si desea
toda la lista o sólo una vista determinada. Puede importar varias listas en una
única operación de importación pero puede importar sólo una vista de cada
lista. Si es necesario, cree una vista que contenga sólo las columnas y los
elementos que le interesen.
3. Revise las columnas en la lista de origen o la vista. En la tabla siguiente se
explican algunas consideraciones que se deben tener en cuenta al importar
distintos elementos.

Elemento Consideraciones
Columnas Access no admite más de 256 campos en una tabla, de forma que
Access importa sólo las 256 primeras columnas. Para evitar este
problema, cree una vista, agréguele sólo las columnas que desea y
asegúrese de que el número total de columnas no sea superior a 256.
Carpetas Cada carpeta de la lista de SharePoint o de la vista aparece como un
registro en la tabla de Access. Los elementos dentro de una carpeta
también aparecen como registros, inmediatamente debajo del registro
correspondiente a dicha carpeta.

Columnas de Si una columna de origen busca valores de otra lista, tiene dos
búsqueda opciones:
Importar los valores de presentación como parte del campo. En este
caso, no es necesario importar la lista relacionada.
Obligar al campo de destino a buscar otra tabla. En este caso, si la base
de datos no contiene una tabla que pueda proporcionar los valores de
búsqueda, debe importar también la lista relacionada.
NOTA: Una columna de origen de tipo Persona o Grupo es un tipo
especial de columna de búsqueda. Busca valores en la lista

94 SENATI-Computación e Informática
atos Externos

Información de usuario, por lo que debe decidir si desea importar la


lista Información de usuario junto con otras listas.

Columnas Los resultados de una columna calculada se copian en un campo cuyo


calculadas tipo de datos depende del tipo de datos del resultado calculado. No se
copia la expresión que ejecuta el cálculo.

Datos La columna de datos adjuntos de la lista se copia en un campo


adjuntos denominado Datos adjuntos.

Relaciones Access no crea automáticamente relaciones entre tablas relacionadas al


finalizar una operación de importación. Debe crear manualmente las
relaciones entre las diversas tablas nuevas y las existentes mediante las
opciones de la ficha Relaciones. Para ver la ficha Relaciones:
En la ficha Herramientas de base de datos, en el grupo Mostrar u
ocultar, haga clic en Relaciones.

Columnas Una columna de tipo opción o búsqueda puede contener varios valores.
multivalor Al importar una columna que admite varios valores, Access crea una
columna que hace lo mismo. Para obtener más información sobre los
campos multivalor en Access, abra los vínculos en la sección Vea
también de este artículo.

Formato de Las columnas que contienen un formato de texto enriquecido se


texto importan a Access como campos Memo. La propiedad Formato de
enriquecido texto del campo Memo está establecida en Texto enriquecido y se
conserva el formato.

1. Identifique la base de datos a la que desea importar las listas.


Asegúrese de que tiene los permisos necesarios para agregar datos a la base de
datos. Si no desea guardar los datos en ninguna de las bases de datos existentes,
cree una base de datos en blanco haciendo clic en el Botón de Microsoft Office
. A continuación, haga clic en Nuevo. .
2. Revise las tablas de la base de datos.
La operación de importación crea una tabla con el mismo nombre que la lista de
SharePoint. Si este nombre ya está en uso, Access anexará "1" al nuevo nombre
de tabla, por ejemplo, Contactos1. (Si Contactos1 ya está en uso, Access creará
Contactos2, etc.)

Importar datos
1. Abra la base de datos de destino.
En la ficha Datos externos, en el grupo Importar, haga clic en Lista de

SharePoint.

SENATI-Computación e Informática 95
Microsoft Office

2. En el Asistente, especifique la dirección del sitio de origen.


3. Haga clic en Importar el origen de datos en una nueva tabla de la base de
datos actual y luego en Siguiente.
4. En la lista que muestra el Asistente, seleccione las listas que desea importar.
5. En la columna Elementos para importar , seleccione la vista que desea para
cada lista seleccionada. Elija una vista Todos los elementos (por ejemplo,
Todos los elementos, Todos los contactos o Todos los documentos) para
importar toda la lista.
6. La casilla de verificación Importar valores para mostrar en lugar de Id.
para los campos que consultan valores almacenados en otra lista controla
los datos que se importan para las columnas de búsqueda en las lista s
seleccionadas. Siga uno de estos procedimientos:
Si desea importar los valores de presentación como parte del campo,
active la casilla de verificación. En este caso, el campo no buscará
valores en otra tabla.
Si desea que el campo de destino busque valores en otra tabla, desactive
la casilla de verificación. Al hacerlo, los identificadores de las filas de
valores de presentación se copian en el campo de destino. Los
identificadores son necesarios para definir un campo de búsqueda en
Access. Al importar identificadores, debe importar las listas que
proporcionan actualmente los valores a las columnas de búsqueda (a
menos que la base de datos de destino ya tenga tablas que puedan
funcionar como tablas de búsqueda).
Es importante recordar que la operación de importación sitúa los
identificadores en el campo correspondiente pero no establece todas las
propiedades necesarias para que el campo funcione como un campo de
búsqueda. Los pasos para establecer las propiedades de búsqueda de este
tipo de campo se describen en Establecer campos de búsqueda en la
sección Tareas relacionadas de este artículo.
7. Haga clic en Aceptar.
Access importa las listas y muestra el estado de la operación en la última página del
asistente. Si prevé repetir la operación de importación, guarde los detalles como una
especificación de importación. Vaya a los pasos siguientes para completar la tarea.

Archivo de texto
Por ejemplo, para importar la información de una base de datos de un archivo de
texto simplemente deberemos hacer clic en el botón Archivo de texto.
En este caso se abrirá el Asistente para importación de texto, donde podrá s
indicar la forma en la que está formateado el archivo del que vas a tomar la
información, incluso te podrás guardar esa descripción y volver a utilizarla para
importar datos de otro fichero con las mismas características utilizando el botón
Importaciones guardadas.

96 SENATI-Computación e Informática
atos Externos

Para ver mejor cómo utilizar este asistente visita el avanzado de Importación de
texto.

A veces cuando se importan datos algunos datos no pueden ser almacenados por no
coincidir con la definición de la tabla, en este caso Access nos avisará que se han
producido errores en la importación y creará una tabla con esos errores para que los
podamos analizar y comprobar.

Actividad 1 : Importar de un Archivo de Texto


Abre la base de datos Express.accdb.
Vamos a importar el archivo Clientes.txt.
1. Selecciona la ficha Datos Externos y haz clic en el botón Archivo de texto de
la sección Importar.

2. En el cuadro de diálogo Importar selecciona Importar el origen de datos en


una nueva tabla de la base de datos actual.
3. Navega hasta la carpeta ejercicios del curso y selecciona el archivo Clientes.txt.

SENATI-Computación e Informática 97
Microsoft Office

4. Pulsa Aceptar.
Se abrirá el asistente para importación de texto.
5. Pulsa el botón Avanzado, vamos a crear una especificación para archivos que
tengan este determinado formato.

6. En Formato del archivo selecciona Delimitado.


7. En Delimitador de campo escribe ;.
8. En Cualificador de texto selecciona las dobles comillas (").
9. En Orden de la fecha selecciona AMD.
10. Deselecciona la opción Años en cuatro cifras.
11. Selecciona la opción Ceros no significativos en fechas.
Ahora pasaremos a establecer las propiedades de los campos.
Ya hemos terminado de configurar las propiedades de los campos, debería haberte
quedado algo así:

98 SENATI-Computación e Informática
atos Externos

Si se guarda esta especificación, más adelante, se puede volver a utilizarla.


12. En el diálogo de Avanzado haz clic de nuevo sobre el botón Aceptar.
13. En el siguiente paso hay que activar “Primera Fila contiene nombres de
campos”

Ahora verás que a medida que vamos avanzando por el asistente todas las
opciones ya se encuentran perfectamente configuradas.
14. Selecciona la opción Permitir a Access agregar la clave principal.

SENATI-Computación e Informática 99
Microsoft Office

15. Pulsa Siguiente para continuar.


16. En esta ventana escribiremos en el cuadro de texto Importar a la tabla el nombre
Clientes.

17. Pulsa Finalizar para terminar.


Verás cómo la tabla se importa.
Podrás abrirla desde la ventana de Base de datos y ver sus contenidos.

Archivo XML
Para Importar un archivo XML a Access 2007, seguir los siguientes pasos
a. Selecciona la ficha Datos Externos y haz clic en el botón Archivo XML de la
sección Importar

100 SENATI-Computación e Informática


atos Externos

b. Aparecerá un Cuadro de Dialogo, en el que tendrás que buscar la ubicación del


archivo XML que necesitaras

c. Luego haz clic en Aceptar, y aparecerá la siguiente pantalla

SENATI-Computación e Informática 101


Microsoft Office

d. Por defecto esta activada la opción Estructura y Datos, lo que implica que
importara, tanto los campos que contienen la tabla, como el contenido de la
misma
e. Aceptar, y luego Cerrar

f. Finalmente se verá la tabla Importada

Exportar
En el apartado anterior veíamos como podíamos recuperar datos de otras bases de datos
o incluso de archivos con otro formato, por ejemplo de texto.
Ahora veremos el proceso contrario, enviar la información de nuestra base de datos
a otra base de datos o a un archivo de otro tipo, por ejemplo de texto.
Para ello, sólo tienes que seleccionar una de las opciones que encontrarás en la sección
Exportar de la pestaña Datos Externos.
Estos comandos te permitirán copiar tablas, informes, formularios, macros y en
definitiva cualquier objeto de tu base de datos a otra . Creando una copia exacta del
objeto en otro lugar.
Para utilizar esta opción sólo tendrás que seleccionar el objeto y entonces ejecutar el
comando Exportar.

Si haces clic en el botón Más desplegarás más formatos de exportación entre ellos
Base de datos de Access que te permitirá exportar datos de una base de datos a otra
rápidamente.
Se abrirá el cuadro Exportar tabla 'tabla1' a... y sólo tendrás que indicar en qué base
de datos quieres copiar el objeto, a continuación Access abrir un cuadro de diálogo

102 SENATI-Computación e Informática


atos Externos

Exportar donde te permitirá cambiar el nombre del objeto en la otra base de datos y
se encargará de exportarlo íntegramente sin ninguna otra interacción por tu parte.
Si el objeto es una tabla se te presentará un cuadro de diálogo Exportar como este:

Como puedes ver en la imagen, estamos exportando una tabla llamada Alumnado a una
base de datos llamada prueba.accdb.
Podemos indicar el nombre que tendrá la tabla en la base de datos de destino y
también elegir qué parte queremos exportar.
En el marco Exportar tablas podremos seleccionar Definición y datos para exportar
la tabla completa (con todos los registros que contiene incluidos) o exportar
únicamente su estructura seleccionando la opción Sólo definición.

Excel
Puede copiar los datos de una base de datos de Microsoft Office Access 2007 a una
hoja de cálculo exportando un objeto de base de datos a una hoja de cálculo de
Microsoft Office Excel 2007. Esto se hace mediante el Asistente para exportación en
Office Access 2007.
Desde la sección Exportar, podremos exportar el contenido de nuestras tablas,
informes o formularios a aplicaciones del mismo paquete como Word o Excel.

Excel copia y formatea el contenido de nuestro objeto y lo presenta en una hoja de


Excel dentro de un archivo tipo XLSX o otros tipos que podremos elegir.
Escenarios comunes para exportar datos a Excel
Su departamento o grupo de trabajo utiliza Access y Excel pa ra trabajar con datos.
Guarda los datos en las bases de datos de Access pero utiliza Excel para analizar los
datos y distribuir los resultados de sus análisis. Su equipo exporta actualmente datos a
Excel cuando y como lo necesita pero desea aumentar la efi cacia de este proceso.
Es usuario de Access desde hace tiempo pero su administrador prefiere trabajar con los
datos en Excel. A intervalos regulares, suele copiar los datos en Excel, pero desea
automatizar este proceso para ahorrar tiempo.

SENATI-Computación e Informática 103


Microsoft Office

Si es la primera vez que exporta datos a Excel


Para exportar datos de Access a Excel, debe estar trabajando en Access
(Excel no proporciona ningún mecanismo para importar datos de una base de
datos de Access). Tampoco puede guardar una base de datos o una tabla de
Access como libro de Excel mediante el comando Guardar como de Access.
Es importante tener en cuenta que el comando Guardar como de Access
permite guardar un objeto de Access en la base de datos actual sólo como
otro objeto de base de datos de Access.
Puede exportar una tabla, una consulta o un formulario. También puede
exportar los registros seleccionados en una vista.
No puede exportar macros ni módulos a Excel. Al exportar formularios,
informes u hojas de datos que contienen subformularios, subinformes u hoja s
secundarias de datos, sólo se exporta el formulario, el informe o la hoja de
datos principales. Debe repetir la operación de exportación para cada
subformulario, subinforme y hoja secundaria de datos que desea exportar a
Excel.
Sólo puede exportar un objeto de base de datos en cada operación de
exportación. No obstante, puede combinar los datos en varias hojas de
cálculo en Excel después de finalizar las operaciones individuales de
exportación.

Prepararse para la operación de exportación


1. Abra la base de datos de origen.
2. En el panel de navegación, seleccione el objeto que contiene los datos que
desea exportar.
3. Puede exportar una tabla, una consulta, un informe o un formulario.

4. Revise los datos de origen para asegurarse de que no contienen indicadores de


error ni valores de error.

104 SENATI-Computación e Informática


atos Externos

5. Si hay algún error, debe resolverlo antes de exportar los datos a Excel. De lo
contrario, se pueden producir errores durante la operación de exportación y
pueden aparecer valores nulos en los campos.
6. Si el objeto de origen es una tabla o una consulta, decida si desea exportar los
datos con formato o sin él.

7. Esta decisión afecta a dos aspectos del libro resultante: la cantidad de datos
que se exportan y el formato de presentación de los datos. En la tabla siguiente
se describe el resultado de la exportación de datos con y sin formato.

Objeto de Campos y
Exportar origen registros Formato

Sin Tabla o Se exportan La configuración de la propiedad


formato consulta todos los Formato se omite durante esta
NOTA Los campos y operación.
formularios no registros del Para campos de búsqueda, se
se pueden objeto base. exportan sólo los valores de
exportar sin identificador de búsqueda.
formato. Para campos de hipervínculo, el
contenido se exporta como una
columna de texto que muestra los
vínculos en el formato
textoParaMostrar#dirección#.
Con Tabla, Sólo se El Asistente respeta la
formato consulta, exportan configuración de la propiedad
formulario o campos y Formato.
informe registros que Para campos de búsqueda, se
se muestran en exportan los valores de búsqueda.
la vista o el Para campos de hipervínculo, los
objeto actual. valores se exportan como
No se exportan hipervínculos.
los registros
Para campos de texto enriquecido,

SENATI-Computación e Informática 105


Microsoft Office

filtrados, las se exporta el texto pero no el


columnas formato.
ocultas en una
hoja de datos
ni los campos
no mostrados
en un
formulario o
informe.

8. Elija el libro de destino y el formato de archivo.


Durante la operación de exportación, Access le pide que especifique el
nombre del libro de destino. En la tabla siguiente se resume cuándo se crea un
libro (si no existe aún) y cuándo se sobrescribe (si ya existe).

Si el
libro de Y el objeto Y desea
destino de origen es exportar Entonces

No existe Una tabla, Los datos El libro se crea durante la operación de


consulta, con exportación.
formulario o formato o
informe sin formato

Ya existe Una tabla o Los datos El libro no se sobrescribe. Se agrega una


consulta pero no el nueva hoja de cálculo al libro y recibe el
formato nombre del objeto del que se exportan
los datos. Si ya existe una hoja de
cálculo con ese nombre en el libro,
Access le pide que reemplace el
contenido de la hoja de cálculo
correspondiente o especifique otro
nombre para la nueva hoja.

Ya existe Una tabla, Los datos, El libro se sobrescribe con los datos
consulta, incluido el exportados. Se eliminan todas las hojas
formulario o formato de cálculo existentes y se crea una nueva
informe hoja de cálculo con el mismo nombre
que el objeto exportado. Los datos de la
hoja de cálculo de Excel heredan la
configuración de formato del objeto de
origen.

Los datos siempre se agregan en una hoja de cálculo nueva. No puede anexar los
datos en una hoja de cálculo existente o en un rango con nombre.

106 SENATI-Computación e Informática


atos Externos

Un archivo RTF de Word


Word copia y formatea el contenido de nuestro objeto y lo presenta en una tabla dentro
de un archivo tipo RTF.
Si sabes utilizar el comando Combinar correspondencia de Word, podrás seleccionar
la opción Combinar con Microsoft Office Word que se encuentra en el desplegable
del botón Más y así crear desde Access un archivo combinado para por ejemplo crear
cartas personalizadas o enviar emails personalizados a todos los clientes (por ejemplo)
que tengas en tu tabla de base de datos.

Lista de SharePoint
Si los miembros de su departamento o grupo de trabajo utilizan Windows SharePoint
Services 2.0 o posterior para comunicarse y colaborar entre ellos, se puede encontrar
con escenarios donde algunos de los datos de la base de datos de Access deban estar
disponibles en uno o varios sitios de SharePoint.
El modo más fácil de exportar datos a un sitio de SharePoint es ejecutar el Asistente
para exportación. Una vez ejecutado, puede guardar la configuración (la información
proporcionada al ejecutar el Asistente) como especificación de exportación. Luego,
puede ejecutar de nuevo la operación de exportación sin tener que volver a
proporcionar la información.

Preparar la operación
1. Busque la base de datos que tiene la tabla o la consulta que desea exportar.
Al exportar una consulta, las filas y columnas de los resultados de la consulta
se exportan como elementos de lista y columnas. No se pueden exportar
formularios ni informes. Puede exportar sólo un objeto a la vez.
2. Identifique el sitio de SharePoint en el que desea crear la lista. Una dirección
de un sitio válido empieza por http:// seguido del nombre del servidor y
finaliza con la ruta al sitio específico del servidor. El siguient e ejemplo es
una dirección válida: http://adatum/EquipoAnalisis
3. Asegúrese de que tiene los permisos necesarios para crear una lista en un
sitio de SharePoint. Póngase en contacto con el administrador del servidor si no
está seguro de los permisos. La operación de exportación crea una lista
nueva que tiene el mismo nombre que el objeto de origen de Access. Si el

SENATI-Computación e Informática 107


Microsoft Office

sitio de SharePoint ya tiene una lista con este nombre, se le pide que
especifique un nombre diferente para la lista nueva. No se pueden
sobrescribir ni anexar datos a una lista existente.
4. Revise los campos de la tabla o de la consulta de origen.
La tabla siguiente explica cómo se importan determinados elementos y si se
deben tomar acciones adicionales en casos específicos.

Elemento Resolución
Campos y registros Se exportan todos los campos y registros de la tabla o de la
consulta, incluidos los campos ocultos en la hoja de datos. Se
omite la configuración de filtros durante la operación de
exportación.
Datos adjuntos Si el objeto de origen tiene más de una columna adjunta, debe
quitar todas las columnas de datos adjuntos excepto una. Esto
se debe a que una lista de SharePoint sólo puede admitir una
columna de datos adjuntos. Si el objeto de origen contiene
más de una columna de este tipo, Access muestra un mensaje
en el que se le pide que quite todas las columnas de datos
adjuntos antes de iniciar la operación. Para resolver este
problema, puede copiar cualquier columna adicional de datos
adjuntos en otros objetos de Access y exportarla a otras listas
de SharePoint.

Campos de Los valores de presentación en los campos de búsqueda de


búsqueda que tienen valor único se exportan como campos de opciones de menús
valores únicos o desplegables en la lista de SharePoint. Si el campo de origen
varios valores admite varios valores, se crea un campo de opción que permite
selecciones múltiples en la lista de SharePoint.
NOTA Un campo de opción de una lista de SharePoint no
puede constar de más de una columna. Si el campo de
búsqueda de origen contiene varias columnas, los valores de
todas las columnas se combinarán en una única columna.
Campos de consulta Los resultados de las columnas calculadas se copian en un
calculados campo cuyo tipo de datos depende del tipo de datos del
resultado calculado. No se copia la expresión en la que se
basan los resultados.

Campos Objeto Los campos Objeto OLE se omiten durante la operación de


OLE exportación.

5. Si la base de datos de origen no está abierta aún, ábrala y vaya a la siguiente


serie de pasos.

108 SENATI-Computación e Informática


atos Externos

Exportar los datos


1. En la ficha Datos externos, en el grupo Exportar, haga clic en Lista de

SharePoint.
Se inicia el Asistente para exportación.
2. En el cuadro Especifique un sitio de SharePoint, escriba la dirección del
sitio de destino.
3. En el cuadro Especifique el nombre de la nueva lista de SharePoint,
escriba un nombre para la nueva lista.
Si el objeto de origen de la base de datos ya tiene el mismo nombre que el de
una lista del sitio de SharePoint, especifique un nombre diferente.
4. De manera opcional, escriba una descripción para la nueva lista en el cuadro
Descripción y active la casilla de verificación Abrir la lista al finalizar.
5. Haga clic en Aceptar para iniciar el proceso de exportación.
6. Access crea una lista en el sitio de SharePoint y muestra el estado de la
operación en la última página del Asistente. Cuando finaliza la operación de
exportación, puede cerrar el Asistente o guardar los pasos de la exportación
en una especificación.
Asimismo, durante la operación, Windows SharePoint Services selecciona el tipo de
datos correcto para cada columna basándose en el campo de origen corre spondiente.
Para ver una lista de cómo se asignan los tipos de datos de Access y Windows
SharePoint Services entre sí durante la exportación de los datos, y qué valores de
campo se exportan para cada tipo de datos, vea la sección Cómo se asignan los tipos de
datos de Windows SharePoint Services a los tipos de datos de Access más adelante en
este artículo.

Archivo de texto
En el caso de exportar el contenido de una tabla a un archivo de texto podremos marcar
la opción Exportar datos con formato y diseño.

SENATI-Computación e Informática 109


Microsoft Office

Si activamos esta opción podremos elegir el modo en el que se guarda la información


en el archivo de texto mediante este cuadro de diálogo:

Aquí podrás seleccionar el tipo de codificación de los datos de tipo Texto de la


tabla. Aunque el predeterminado sea Windows, Unicode (UTF-8) suele ser el formato
que mayor compatibilidad presenta. Aunque si tu intención es seguir trabajando dentro
de la plataforma Windows deja la opción predeterminada seleccionada.

Si no activas la opción Exportar datos con formato y diseño, se abrirá el Asistente


para exportación de texto, que es muy parecido al que hemos visto en el apartado
anterior de importación. Podrás especificar el modo en el que se formateará el
archivo de salida e incluso guardar esa especificación.
Indicarle si va a ser Delimitado o de Ancho Fijo.

110 SENATI-Computación e Informática


atos Externos

Indicarle el delimitador

Y por ultimo para finalizar, indicarle la ruta donde va a ser guardado el archivo de
Texto.

Archivo XML
Para importar a un Archivo XML, seguir los siguientes pasos:
1. Elegir de la Cinta Exportar, la opción Mas, para luego elegir la opción
Archivo XML

2. Indicarle la ruta y el nombre donde va a exportar

SENATI-Computación e Informática 111


Microsoft Office

3. Aceptar la opción, y aparecerá la siguiente ventana

4. Elegir la opción que ud desea. Y luego cerrar.

Preguntas de Repaso
1. ¿Como se denomina al proceso de recoger datos de un programa diferente y los
incorpora a su base de datos?
2. ¿Cual de los siguientes elementos no puede importarse a otra base de datos:
Tablas, Consultas, Formularios o Macros?
3. ¿Como se denomina al proceso de recoger datos de un programa diferente, pero no
los incorpora a su base de datos?

Ejercicios Casos Propuestos


1. Exporte los campos nombre, apellidos, dirección, distrito, Ocupacion de la tabla
Datos personales de la Base de Datos Agenda, a Word para la realización de una
carta tipo Combinacion de Correspondencia. En dicha carta comunicaremos a
nuestros clientes la aparición de un nuevo producto de nuestra empresa.
2. Exporte los campos NombreVideo, IdCategoria, IdProductora de la tabla Video
de la Base de Datos Alquiler Videos a Word y realice una tabla adornándola con
diferentes opciones de formato.

112 SENATI-Computación e Informática


Capítulo

Macros y opciones de Inicio


En este capítulo aprenderemos:

Crear macros
Asignar macros a controles de formulario
Personalizar herramientas
Definir las opciones de inicio

SENATI-Computación e Informática 113


Microsoft Office

Botones de comando en formularios


Como su nombre indica estos controles sirven para ejecutar comandos cuando son
pulsados. Los usuarios avanzados de Access son capaces de concentrar muchísimas
acciones en un solo botón gracias a la integración de este programa con el lenguaje de
programación Visual Basic y al uso de macros.

El asistente para controles


Cuando, teniendo el asistente activado, intentamos crear un Botón de Comando nos
aparece una cuadro de diálogo. Veremos paso a paso cómo deberemos seguirlo para
conseguir nuestro objetivo.

En la primera pantalla podremos elegir entre diferentes acciones a realizar cuando se


pulse el botón. Como puedes ver en la imagen estas acciones se encuentran agrupada s
en Categorías.
Selecciona la Categoría que creas que se ajusta más a lo que quieres r ealizar y luego
selecciona la Acción en la lista de la derecha.
Pulsa Siguiente para continuar.

Ahora podrás modificar el aspecto del botón. Puedes elegir entre mostrar un Texto en
el botón, o mostrar una Imagen.

114 SENATI-Computación e Informática


ones de Inicio

En el caso de escoger Imagen, podrás seleccionar una entre las que Access te ofrece.
Marca la casilla Mostrar todas las imágenes para ver todas las imágenes que Access
tiene disponible para los botones.
También podrías hacer clic en el botón Examinar para buscar una imagen en tu disco
duro. Cuando hayas terminado pulsa Siguiente para continuar, y que aparezca la
siguiente pantalla

En esta última pantalla le daremos un nombre al control Botón de Comando para poder
reconocerlo más tarde en la lista de controles.
Pulsa Finalizar para terminar.
Al ser tan fácil añadir Botones de comando con el Asistente este control se convierte en
una forma muy versátil de añadir acciones a tus formularios e informes.
Como podrás ver en las primeras ventanas del Asistente para controles existen varia s
acciones que podrás realizar.
Con la categoría de Exploración de registros podrás moverte de forma rápida por todos
los datos del formulario, buscando registros o desplazándote directamente a alguno en
particular.
Utiliza las acciones de Operaciones con registros para añadir nuevos, duplicarlos,
eliminarlos, guardarlos o imprimirlos.
Del mismo modo podrás jugar con los formularios aplicándoles filtros y
actualizándolos. En cualquier momento podrás añadir un botón para abrir, cerrar o
imprimir informes, formularios y consultas.

Macros
Las Macros son un método sencillo para llevar a cabo una o varias tareas básicas como
abrir y cerrar formularios, mostrar u ocultar barras de herramientas, ejecutar informes,
etc...
También sirven para crear métodos abreviados de teclado y para que se ejecuten tareas
automáticamente cada vez que se inicie la base de datos.
Si guardamos la Macro con el nombre de AutoExec, cada vez que se inicie la base de
datos, se ejecutará automáticamente. Esto es debido a que Access al arrancar busca un a

SENATI-Computación e Informática 115


Microsoft Office

macro con ese nombre, si la encuentra será el primer objeto que se ejecute antes de
lanzar cualquier otro.
Esta opción es muy socorrida a la hora de efectuar comprobaciones o lanzar procesos
antes de que el usuario empiece a trabajar con la base de datos.
La configuración por defecto de Access, nos impedirá ejecutar ciertas acciones de
macro si la base de datos no se encuentra en una ubicación de confianza, para evitar
acciones malintencionadas.
Para ejecutar correctamente las macros de bases de datos que consideremos fiables,
podemos añadir la ubicación de ésta al Centro de confianza.

Crear una Macro


Para definir una macro, indicaremos
una acción o conjunto de acciones
que automatizarán un proceso.
Cuando ejecutemos una Macro, el
proceso se realizará automáticamente
sin necesidad, en principio, de
interacción por nuestra parte.
Por ejemplo, podríamos definir una
Macro que abra un formulario
cuando el usuario haga clic en un
botón, o una Macro que abra una consulta para subir un diez por cien el precio de
nuestros productos.
Crear una Macro es relativamente fácil, sólo tienes que hacer clic el botón Macro de la
pestaña Crear, Cinta Otros, Opción Macro.

Se abrirá la Vista de diseño de Macro.

116 SENATI-Computación e Informática


ones de Inicio

Esta ventana es muy parecida a la vista Diseño de tabla que ya conoces y tiene la
misma dinámica pero ahora en vez de campos lo que definimos son las acciones que
queremos que se ejecuten.
Como podrás observar, al principio consta de dos columnas: Acción y Comentario,
aunque puede que aparezca también la columna Argumentos, que se puede mostrar y
ocultar, y que explicaremos más adelante.

En la imagen puedes ver cómo en la columna Acción deberemos seleccionar una


acción de entre las existentes en el cuadro desplegable.
En la columna Comentario podremos escribir una pequeña descripción opcional sobre
el por qué de la acción o un comentario sobre su efecto.
Cuando selecciones una Acción en la lista desplegable, en la parte inferior izquierda
aparecerán sus opciones y a la derecha una descripción breve de lo que hace la acción.

Podemos añadir tantas acciones como queramos, simplemente deberemos colocarla s


una después de otra y en el orden que queremos que se ejecuten.

SENATI-Computación e Informática 117


Microsoft Office

Recuerda que deberás tener cuidado con el orden en el que estableces las acciones,
pues es muy importante. Imagina que tienes dos acciones (entre varias) que abren y
cierran un formulario. El formulario deberá estar abierto antes de ejecutar la orden de
cerrar el formulario, por lo que la acción de apertura debería ir antes de la de cierre.
En todo momento podrás utilizar los botones de Insertar o Eliminar filas para insertar
nuevas acciones entre dos existentes o eliminar una acción.
Para cambiar el orden en el que se encuentren las acciones puedes seleccionar algunas
de ellas y arrastrarlas con el ratón para colocarlas en otra posición.
Cuando la Macro está terminada, puede guardarse, ejecutarse y cerrarse. Más tarde
podremos llamarla desde un control Botón de comando, o ejecutarla directamente
desde la ventana de la base de datos haciendo clic en Ejecutar o bien haciendo doble
clic directamente sobre ella.

Acciones más utilizadas


En este apartado veremos las acciones más utilizadas en las Macros. Siempre puedes
recurrir a la ayuda de Access para obtener información sobre acciones que aquí no
tratemos.
Cuando selecciones una Acción en la lista desplegable, en la parte inferior izquierda
aparecerán sus opciones:

A continuación veremos las acciones más comunes, puedes ver la descripción de sus
argumentos de acción haciendo clic en.

Abrir Consulta Esta acción abre una consulta escogida entre las existentes
en la base de datos.
AbrirFormulario Del mismo modo que la acción anterior, abre un formulario
AbrirInforme Igual que las acciones anteriores, permite abrir un informe
AbrirTabla Esta acción permite abrir una tabla.
BuscarRegistro Utilizaremos esta acción para buscar registros. Esta acción
busca el primer registro que cumpla los criterios

118 SENATI-Computación e Informática


ones de Inicio

especificados. Puedes utilizar esta acción para avanzar en las


búsquedas que realices.
BuscarSiguiente Se posiciona en el siguiente registro que cumpla con los
criterios indicados en la acción BuscarRegistro anterior. No
tiene argumentos.
CancelarEvento Esta acción cancela el evento que produjo la ejecución de la
macro. No tiene argumentos.
Cerrar Con esta acción podrás cerrar cualquier objeto que se
encuentre abierto.
CuadroMsj Con las Macros incluso podremos mostrar mensajes para
interactuar con el usuario.
DetenerMacro Introduce esta acción en una Macro para detener su
ejecución. No tiene argumentos. Verás su utilidad más
adelante.
DetenerTodasMacros Esta acción detendrá todas las Macros que se estén
ejecutando en ese momento. No tiene argumentos.
*Eco Esta acción es muy útil para ocultar al usuario las
operaciones que se están realizando con una Macro. Permite
la activación o desactivación de la visualización de las
acciones en pantalla.
EjecutarComando Utiliza esta acción para lanzar comandos que puedas
encontrar en cualquier barra de herramientas.
*EstablecerValor Una acción muy útil que te permitirá modificar los valores
de los campos.
IrARegistro Te permitirá saltar a un registro en particular dentro de un
objeto.
Maximizar Esta acción maximiza la ventana activa para que ocupe todo
el espacio de la ventana de Access.
Minimizar Al contrario que la anterior, esta acción minimiza la ventana
activa convirtiéndola en una barra de título en la parte
inferior de la ventana de Access.
Salir Esta acción hace que Access se cierre.

Algunas de estas acciones no se muestran si no está pulsado el icono Mostrar todas las
acciones, en la banda de Diseño de Macros.

Acciones Condicionadas
Ahora que ya conocemos las acciones y cómo introducirlas y ordenarlas, veremos un
modo que nos ayudará a crear acciones con muchas posibilidades. Para ello
utilizaremos las condiciones.

SENATI-Computación e Informática 119


Microsoft Office

Puedes activar este modo haciendo clic en el botón de Condiciones en la Ficha de


Diseño.

La vista de Diseño de Macro cambiará para tomar este aspecto (observa como se ha
añadido una columna a la izquierda):

En esta columna podremos introducir condiciones para que la acción establecida en la


fila se ejecute o no según el resultado de la condición.
Por ejemplo si escribimos [Formularios]![Clientes]![IDCliente]=4 en la columna
Condición, su acción sólo se ejecutará en el caso de que la condición sea afirmativa, es
decir, que el IDCliente sea igual a 4.

Esto nos abre muchas posibilidades, sobre todo si lo combinamos con los puntos
suspensivos (...).

120 SENATI-Computación e Informática


ones de Inicio

Si escribimos una condición y resulta verdadera se ejecutará la acción que se encuentre


en la misma fila, ¿Pero qué pasa si queremos que la condición ejecute más de una
acción? Muy fácil, escribe puntos suspensivos en la columna Condi ción para todas
aquellas acciones siguientes que quieres que se ejecuten al resultar afirmativa la
condición.
Si la condición diese como resultado falso, la Macro saltará a la siguiente acción que no
tenga puntos suspensivos en la columna Condición.
En el campo Condición también podemos incluir expresiones más complejas, como:
[Formularios]![Cursos]![Fecha Inicio] Entre #2 -Mar-2006# Y #9-Nov-2007# para
indicar si la fecha se encuentra en un intervalo, o EsNulo
([Formularios]![Cursos]![nºhoras]) para realizar la acción si no hay nada guardado en
el campo nºhoras.
Puedes unir varias condiciones utilizando los operadores Y y O como vimos en el tema
de consultas.
Aunque a primera vista el uso de Macros en Access pueda parecer algo limitado,
veremos en las próximas páginas que podemos crear grupos de macros y definir bucles
repetitivos que nos permitirán realizar operaciones mucho más complejas.

Grupos de Macros
Cuando tenemos muchas macros, puede llegar a ser dificultoso localizar una macro
dentro de la ventana Base de Datos. Al igual que es más cómodo agrupar los archivos
en carpetas, puede ser útil agrupar nuestras macros en grupos de macros que contengan
macros relacionadas.
También los grupos de macros pueden ser útiles para definir macros a modo de
subrutinas dentro de una macro principal.
Para definir un grupo de macros haremos uso de la opción Nombres de macro en la
pestaña Diseño.

Si activas el botón verás que la Vista de Diseño de Macros cambia para añadir una
nueva columna a la izquierda:

SENATI-Computación e Informática 121


Microsoft Office

Esta columna nos da la opción de crear diferentes macros dentro de una Macro
principal. Imagina que tenemos la siguiente macro y la guardamos como Macro1:

Macro1 aparecerá en la ventana Base de Datos como una macro, pero realmente será
un grupo de macros formado por las macros nombre1, nombre2 y nombre3.
A partir de este momento podremos ejecutar las acciones AgregarMenu, CuadroMsj, y
Beep simplemente llamando a la macro Macro1.nombre2.
Sencillo, ¿verdad? Observa que para llamar a una macro que forma parte de un grupo
de macros, hay que primero indicar el nombre del grupo y después el nombre de la
macro separados por un punto.

Crear Bucles
Si una macro se puede asemejar a un programa porque consiste en una serie de
acciones que se ejecutan según un determinado orden, y que además incluye
alternativas (gracias a la columna Condición), nos faltaba un concepto imprescindible
en programación, el concepto de estructuras repetitivas (bucles). Pues bien, ahora
aprenderemos una nueva acción que nos permite en cierta medida resolver el problema.
Se trata de la acción EjecutarMacro.

EjecutarMacro: Nos da la posibilidad de llamar a una macro desde dentro de otra


macro y repetir la ejecución de dicha macro, definiendo así un bucle repetitivo.

122 SENATI-Computación e Informática


ones de Inicio

Para ello deberemos especificar el Nombre de macro que queremos ejecutar. Por
ejemplo, en el caso anterior, Macro1, Macro1.nombre1, Macro1.nombre2 o
Macro1.nombre3.
Podemos indicar que la Macro se ejecute más de una vez escribiendo en Número de
repeticiones un número que indique cuántas veces queremos que se repita la ejecución
de la macro (el número deberá ser mayor que 1).
En Expresión de repetición podremos introducir una expresión condicional para que se
repita la ejecución de la macro mientras la condición se cumpla (sea verdadera). Se
evalúa la condición antes de ejecutar la macro así que si al empezar, la condición no se
cumple, la macro no se ejecutará.
¡Ojo con los bucles infinitos! si utilizas el argumento Expresión de repetición la
condición que pongas deberá depender de un parámetro que cambie dentro de la macro
que se repite, sino podrás entrar en un bucle que no se acabe nunca!!
Para componer la condición se nos dará la opción de utilizar el Generador de
Expresiones.
Ahora veremos una estructura que ilustrará el u so de la combinación de ambas
técnicas.

Como puedes ver en la imagen, si reproducimos esta estructura seremos capaces de


generar un bucle. Veamos que hemos hecho.
En un punto de la macro necesitamos ejecutar unas acciones que se repitan hasta
determinado momento.
Para lograrlo lo que hacemos es incluir una llamada a la macro bucle que se encuentra
en Macro1. Por lo que en el argumento Nombre de macro de la acción EjecutarMacro
escribiremos Macro1.bucle.
En el argumento Expresión de repetición escribiremos la condición que ha de
cumplirse para que se vuelva a repetir el proceso. En caso de que la condición sea falsa,
el proceso dejará de repetirse y continuará con la lista de acciones que siguen hasta la
acción Detener Macro que terminará la ejecución de la macro.

SENATI-Computación e Informática 123


Microsoft Office

Observa que al final de la macro Macro1.bucle, hemos incluido la acción Cerrar, si


como argumento de la acción pusiésemos la macro Macro1, este bloque solamente se
ejecutaría como mucho una vez ya que la macro se cerraría antes de que se pueda
repetir el bloque.

Depuración de errores
Cuando creamos una Macro con diferentes condiciones y saltos de ejecución puede que
al final la comprobación de que actúa correctamente sea cada vez más difícil.
Access incorpora una herramienta que permite seguir la ejecución de la Macro paso a
paso pudiendo en cada momento ver qué procesos se están llevando a cabo y los
resultados que recibe de la base de datos.
Para activar esta opción solamente deberemos de hacer clic sobre el botón de Paso a
paso en la pestaña Diseño.
Una vez activada, cada vez que se ejecute una macro en el sistema lo hará en modo
Paso a paso.
Cuando una Macro se ejecuta de este modo para cada acción que realiza produce una
salida de información que nos llega a modo de Cuadro de diálogo:

Como puedes ver en la imagen este cuadro de diálogo te mostrará el Nombre de la


macro que se está ejecutando.
Si tiene condición, y en caso afirmativo, en qué consiste dicha condición y su estado de
coincidencia (Verdadero: o Falso:).También podrás ver el Nombre de la acción que se
va a ejecutar, y los Argumentos que tiene. En la imagen la función EstablecerValor
cambiaría el valor del campo Nombre Curso a "Diseño Web" si la condición no
hubiese dado falso.
Para continuar con la reproducción Normal de la Macro pul sa Continuar. Si pulsas
Paso a Paso seguirás en el mismo modo. Puedes detener la Macro pulsando el botón
Detener. En cualquier momento en la reproducción de una Macro puedes detenerla
también utilizando la combinación de teclas CTRL + INTRO. Esto te puede ser muy
útil si una Macro entra en un bucle infinito y el sistema deja de responder.

124 SENATI-Computación e Informática


ones de Inicio

AutoKeys o Métodos abreviados de Teclado


Las Macros también te permitirán crear métodos abreviados de teclado. Esto es,
podremos asignar a través de una Macro diferentes acciones mediante una combinación
de teclas.
El modo de construir una Macro que actúe de este modo es muy sencillo. Sólo tendrás
que seguir los siguientes pasos:
1. Crea una nueva Macro y llámala AutoKeys.
2. Activa la opción Nombres de Macro para añadir la columna con el
mismo nombre.

3. En la columna Nombre de Macro deberás indicar la combinación de


teclas que activarán las acciones que escribas en la columna Acción.
De este modo podrás crear varias combinaciones y asignarlas a un grupo de acciones.

En vez de Combinación1, Combinación2, Combinación3, etc... Deberás escribir la


combinación de teclas que quieres que ejecuten las acciones, siguiendo la sintaxis que
encontrarás en la siguiente tabla:

Sintaxis de la Combinación Combinación de Teclas

^C or ^1 CTRL+C ó CTRL+1

{F3} F3
^{F3} CTRL+F3
+{F3} MAYUS+F3

SENATI-Computación e Informática 125


Microsoft Office

{INSERT} INSERT
^{INSERT} CTRL+INSERT
+{INSERT} MAYUS+INSERT

El modo en el que indicaremos las combinaciones es muy sencillo. Simplemente


tendremos que escribir los nombres de las teclas que forman la combinación en la
columna Nombre de Macro. Lo único que deberás tener en cuenta es que la tecla CTRL
se escribirá como ^, y la tecla MAYUS como +. Las teclas que contengan más de una
letra deberán ir encerradas entre llaves {} para que no se confundan c on
combinaciones.
Por ejemplo, END sería el equivalente a la combinación de teclas E+N+D, mientras
que {END} equivaldría a pulsar la tecla FIN.
Es interesante asociar combinaciones de teclas a la acción EjecutarMacro para permitir
lanzar una macro con sólo pulsar unas teclas.

Asignar macros a controles en formularios


Después de haber creado las macros usted debe hacer que se activen a través de los
objetos en sus formularios. Por ejemplo puede obligar a que al pulsar un botón de
comando se active una macro.
Para configurar que la ejecución de una macro se realice cuando se haga clic en un
control de un formulario:
1. Muestre la vista diseño del formulario.
2. Muestre las propiedades del control (puede hacer clic derecho sobre él y luego
activar el comando Propiedades).
3. Active la ficha Eventos.

4. Haga clic en el control ubicado a la derecha de Al hacer clic.


5. Despliegue la lista y elija el nombre de la macro que desea ejecutar mediante el
control elegido.

126 SENATI-Computación e Informática


ones de Inicio

6. Muestre la vista diseño del formulario, pruebe la asociación que ha realizado,


guarde el formulario y ciérrelo
a. Botones de comando
Asociar una macro con un botón de comando
En la base de datos Pedidos, usted configurará el formulario de bienvenida
para que al hacer clic en el botón Aceptar se cierre este formulario y se abra
el Panel de control.
Procedimiento
• Muestre la vista diseño del formulario Panel de control.
• Haga clic derecho sobre el botón de comando y luego active el
comando Propiedades (deberá utilizar la barra de desplazamiento
vertical del formulario para ver el botón de comando)
• Active la ficha Eventos.
• Haga clic en el control ubicado a la derecha de Al hacer clic.
• Despliegue la lista y elija Cerrar bienvenida y Abrir Panel

SENATI-Computación e Informática 127


Microsoft Office

Elegir la macro que se ejecutará

• Muestre la vista diseño del formulario y haga clic sobre el botón.


Cuando realice esta acción se cerrará el formulario de bienvenida, se
guardará automáticamente y se abrirá el formulario Panel de control.
b. Etiquetas
Asociar macros a etiquetas
En la base de datos Pedidos, usted configurará el formulario Panel de
control para que al hacer clic en sus etiquetas se abran los formularios e
informes a los que se refieren.
Procedimiento
• Muestre la vista diseño del formulario.
• Muestre la ventana de propiedades para la etiqueta Catálogo de
productos y en su evento Al hacer clic indique que se debe ejecutar la
macro Abrir formulario Productos.
• Sin cerrar la ventana de propiedades, haga clic en la etiqueta Pedidos
en el formulario; nuevamente en la ventana de propiedades, indique
que se debe ejecutar la macro Abrir formulario Pedidos en el evento Al
hacer clic.
• Asocie el resto de etiquetas en forma análoga a la indicada en el paso 3
• Cierre la ventana de propiedades.
• Muestre la vista formulario y pruebe las etiquetas.

Macro Autoexec
Si ya ha creado una macro que contiene las acciones que desea que se produzcan al
iniciarse la base de datos, simplemente cambie el nombre de la macro a AutoExec, y se
ejecutará la próxima vez que abra la base de datos. De lo contrario, siga estos pasos
para crear una macro:
1. En el grupo Otros de la ficha Crear, haga clic en Macro. Si el comando no
está disponible, haga clic en la flecha situada debajo del botón Módulo o
Módulo de clase y, a continuación, haga clic en Macro.
2. En el Generador de macros, en la primera celda Acción vacía, seleccione la
acción que desea realizar. Cuando corresponda, dentro de Argumentos de
acción, escriba los valores apropiados en los cuadros para argumentos.
Si no encuentra la acción deseada, en la ficha Diseño, en el grupo Mostrar u
ocultar, asegúrese de que esté seleccionado Mostrar todas las acciones. Esto
amplía la lista de acciones que se pueden utilizar, pero también se incluirán
algunas acciones que solamente se pueden ejecutar si la base de datos está
designada como "de confianza". Para obtener más información, vea los
artículos Decidir si se debe confiar en una base de datos o Cómo se comportan
los objetos de base de datos cuando son de confianza y cuando no lo son .

128 SENATI-Computación e Informática


ones de Inicio

3. Repita el paso 2 para cada acción adicional que desee que se produzca.
4. Haga clic en Guardar, y en el cuadro de diálogo Guardar como, escriba
AutoExec.
5. Haga clic en Aceptar y luego cierre el Generador de macros. La nueva macro
se ejecutará la próxima vez que abra la base de datos.
Para obtener más información sobre la creación de macros, vea el artículo Crear una
macro.
Para omitir la macro AutoExec y otras opciones de inicio, mantenga presionada
la tecla MAYÚS mientras se inicia la base de datos. Para obtener má s
información, vea el artículo Omitir las opciones de inicio cuando se abre una
base de datos.
Otra forma de realizar acciones cuando se inicie una base de datos consiste en
especificar un formulario de inicio y, a continuación, adjuntar las macros o
código VBA a los eventos AlAbrir o AlCargar del formulario. Para obtener má s
información, vea el artículo Establecer el formulario predeterminado que aparece
cuando se abre una base de datos.

Opciones de exploración
Cuando se crea una categoría personalizada, se crea para la base de datos que está
abierta y la categoría está ligada a esa base de datos. No se pueden transferir categorías
y grupos personalizados a otras bases de datos.
Para crear y administrar categorías y grupos personalizados, se utiliza el cuadro de
diálogo Opciones de exploración. Éstos son los pasos generales del proceso:
Primero, se crea una categoría personalizada. Access proporciona la categoría:
Personalizado. Puede cambiar el nombre de esa categoría y, a continuación,
agregar o quitar grupos según sus necesidades, o bien, puede crear una nueva
categoría en cualquier momento.
Tras la creación de una categoría, se crea uno o varios grupos para la nueva
categoría.
Cierre el cuadro de diálogo Opciones de exploración y, en el panel de
exploración, arrastre o copie y pegue los objetos de la base de datos que desee
asignar al grupo personalizado. Los objetos se arrastran o se copian desde un
grupo especial denominado Objetos no asignados, que Access crea cuando se
crea una categoría personalizada.
Cuando se agrega un objeto de base de datos desde el grupo Objetos no
asignados a un grupo personalizado, Access crea un acceso directo a ese objeto:
no se mueve ni se copia el propio objeto. Si se cambia de nombre o se elimina
un acceso directo en un grupo personalizado, esos cambios no afectan al propio
objeto, sólo al acceso directo a dicho objeto.
Tras rellenar los grupos personalizados, puede ocultar el grupo Objetos no
asignados y todos los demás grupos que no desee mostrar.

SENATI-Computación e Informática 129


Microsoft Office

Crear Categorías
1. Haga clic con el botón secundario del mouse en el menú de la parte superior del
panel de exploración y, a continuación, haga clic en Opciones de exploración.

2. En el cuadro de diálogo Opciones de exploración, bajo la lista Categorías,


haga clic en Agregar elemento. Aparecerá una nueva categoría en la lista.

Esta figura ilustra una nueva categoría personalizada:

130 SENATI-Computación e Informática


ones de Inicio

3. Escriba un nombre para la nueva categoría y, a continuación, presione


ENTRAR.
Procure usar un nombre que tenga sentido para los usuarios de la base de datos.
Tras crear el nombre, observe que el título de la lista a la derecha cambia para
reflejar ese nombre.
Por ejemplo, si asigna el nombre Mi panel de control a la nueva categoría, el
título de la lista a la derecha será Grupos de "Mi panel de control".
Asimismo, observe que la lista contiene un grupo denominado Objetos no
asignados, que Access crea de forma predeterminada. Este grupo contiene
todos los objetos de la base de datos, y son dichos objetos los que se utilizan
para rellenar el grupo personalizado.

Tras crearse la categoría personalizada, se crea uno o varios grupos para dicha
categoría. Se pueden crear tantos grupos como sean necesarios. Mantenga
abierto el cuadro de diálogo Opciones de exploración y siga los
procedimientos que se detallan a continuación

Crear un grupo personalizado


1. Bajo la lista Grupos de "nombre de grupo", haga clic en Agregar grupo
y, a continuación, escriba un nombre para el grupo. Puede repetir este
proceso tantas veces como crea necesario. Por ejemplo, Mi panel de
control puede contener tres grupos: Formularios de entrada de datos,
Informes y Consultas. Los grupos que agregue en esta fase del proceso
dependen de las necesidades de los usuarios o de sus propias preferencias.

SENATI-Computación e Informática 131


Microsoft Office

2. Mantenga activada la casilla de verificación situada junto a Objetos no


asignados y haga clic en Aceptar. Access cierra el cuadro de diálogo
Opciones de exploración y agrega el nuevo grupo personalizado al panel
de exploración, pero aún no podrá ver el nuevo grupo.
3. Siga los procedimientos descritos a continuación para poder ver el nuevo
grupo y agregar objetos al grupo.

Agregar objetos a un grupo personalizado


1. Haga clic en el menú situado en la parte superior del panel de exploración y,
en la sección superior del menú, haga clic en la nueva categoría. Los grupos
creados para la categoría aparecen en la sección inferior del menú, junto con
el grupo Objetos no asignados.
2. En el grupo Objetos no asignados, seleccione los elementos que desee usar
en el grupo personalizado y, a continuación, muévalos a ese grupo. Access
permite mover los elementos seleccionados de varias formas. Puede:
Arrastrar los elementos individualmente.
Mantener presionada la tecla CTRL y hacer clic en varios elementos
y, a continuación, arrastrar los elementos hasta el grupo
personalizado.
Hacer clic con el botón secundario del mouse (ratón) en uno de los
elementos seleccionados, elegir Agregar al grupo y, a continuación,
hacer clic en el nombre del grupo personalizado.
Cuando finalice, podrá dejar visible el grupo Objetos no asignados en el
panel de exploración u ocultarlo.

132 SENATI-Computación e Informática


ones de Inicio

Ocultar el grupo Objetos no asignados


1. Haga clic con el botón secundario del mouse en el menú de la parte superior
del panel de exploración y haga clic en Opciones de exploración.
2. En el panel Grupos de categoría, desactive la casilla de verificación
Objetos no asignados.

Después de crear una categoría personalizado y un grupo personalizado y de


agregar algunos accesos directos al grupo, puede usar esos accesos directos
para crear otros grupos. En el siguiente procedimiento se explica cómo
realizar esta operación.

Crear un nuevo grupo personalizado mediante un objeto de un grup o


personalizado existente
Para usar esta técnica, primero debe crear una categoría personalizada y agrupar
los objetos siguiendo los procedimientos descritos en las secciones anteriores.
1. Con una categoría y un grupo personalizados abiertos en el panel de
exploración, haga clic con el botón secundario del mouse en el objeto que
desee colocar en un grupo nuevo.
2. Elija Agregar al grupo y, a continuación, haga clic en Nuevo grupo.
Aparecerá un grupo nuevo en el panel de exploración

SENATI-Computación e Informática 133


Microsoft Office

Escriba un nombre para el nuevo grupo y, a continuación, arrastre accesos


directos adicionales al nuevo grupo, según sea necesario.

Mostrar u ocultar los grupos y objetos de una categoría


Es posible ocultar algunos o todos los grupos de una categoría personalizada y algunos
o todos los objetos de un grupo. Recuerde los siguientes puntos:
Access proporciona dos formas de ocultar un objeto. Se pueden usar los
comandos del panel de exploración para ocultar un objeto de su grupo y
categoría primarios, o bien, se puede elegir una propiedad de cada objeto y
ocultarla de todos los grupos y categorías de la base de datos abierta.
Los objetos y grupos ocultos pueden quedar totalmente invisibles, o bien, se
pueden mostrar en el panel de exploración como iconos atenuados y no
disponibles. Para ello, active o desactive la casilla de verificación Mostrar
objetos ocultos en el cuadro de diálogo Opciones de exploración. Esta casilla
de verificación se usa también para mostrar o restaurar un grupo u objeto.
Los pasos que se describen en las siguientes secciones indican cómo se lleva a cabo
cada tarea.

Ocultar un grupo en una categoría


En el panel de exploración, haga clic con el botón secundario del mouse en la
barra de título del grupo que desee ocultar y, a continuación, haga clic en
Ocultar.
Para realizar esta tarea también puede usar el cuadro de diálogo Opciones de
exploración. Abra el cuadro de diálogo (vea los pasos descritos en la siguiente sección
si no sabe cómo hacerlo) y, en la lista Grupos de "categoría", desactive la casilla de
verificación situada junto al grupo que desee ocultar.

Restaurar un grupo oculto en una categoría


1. Haga clic con el botón secundario del mouse en la barra de menús de la parte
superior del panel de exploración y, a continuación, haga clic en Opciones de
exploración en el menú contextual.
2. En la lista Categorías, seleccione la categoría que contenga el grupo oculto.
3. En la lista Grupos de "categoría", active la casilla de verificación situada
junto al grupo oculto.
4. Haga clic en Aceptar.

Ocultar un objeto en su grupo primario


En el panel de exploración, haga clic con el botón secundario del mouse en el
objeto y, a continuación, haga clic en Ocultar.

134 SENATI-Computación e Informática


ones de Inicio

Ocultar un objeto de todos los grupos y categorías


1. Haga clic con el botón secundario del mouse en el objeto que desee ocultar y, a
continuación, haga clic en Propiedades del objeto.
Aparecerá el cuadro de diálogo Propiedades y Access agregará el nombre del
objeto al título del cuadro de diálogo. Por ejemplo, si abre un formulario
denominado Pedidos, el título del cuadro de diálogo será Propiedades de
Pedidos. La siguiente figura muestra el cuadro de diálogo.

2. Active la casilla de verificación Oculto.


3. Haga clic en Aceptar.

Restaurar o mostrar un objeto oculto


1. Haga clic con el botón secundario del mouse en el menú de la parte superior del
panel de exploración y haga clic en Opciones de exploración en el menú
contextual.
2. Bajo Opciones de presentación, active la casilla de verificación Mostrar
objetos ocultos.
3. Haga clic en Aceptar y vuelva al panel de exploración. En el panel se muestra
un icono atenuado para todos los objetos ocultos.
4. Siga uno de estos procedimientos:
Si ocultó el objeto únicamente de su grupo y categoría primarios, haga
clic con el botón secundario del mouse en el objeto y, a continuación,
haga clic en Mostrar.
Si ocultó el objeto de todas las categorías y todos los grupos
estableciendo la propiedad Oculto, haga clic con el botón secundario
del mouse en el objeto, haga clic en Propiedades de vista y, a
continuación, desactive la casilla de verificación Oculto.

SENATI-Computación e Informática 135


Microsoft Office

Quitar y restaurar objetos de grupos personalizados


Los grupos personalizados pueden cambiar con el tiempo a medida que cambien
las necesidades de los usuarios o de la empresa. Es posible agregar o quita r los
objetos de un grupo en cualquier momento. Los siguientes procedimientos indica n
cómo hacerlo.

Eliminar objetos de un grupo personalizado


En el panel de exploración, haga clic con el botón secundario del mouse en el
objeto que desee quitar y, a continuación, haga clic en Eliminar.

Restaurar un objeto en un grupo personalizado


1. Si está oculto el grupo Objetos no asignados, muéstrelo.
a. Haga clic con el botón secundario del mouse en el menú de la parte
superior del panel de exploración y haga clic en Opciones de
exploración en el menú contextual.
b. En el panel Grupos de "categoría", active la casilla de verificación
situada junto a Objetos no asignados.
2. Según sea necesario, arrastre o copie y pegue el objeto deseado del grupo
Objetos no asignados en el grupo personalizado.

Cambiar el nombre de un objeto de un grupo personalizado


1. En el panel de exploración, haga clic con el botón secundario del mouse en
el objeto cuyo nombre desee cambiar y, a continuación, haga clic en
Cambiar nombre de acceso directo. Escriba el nuevo nombre del acceso
directo y, a continuación, presione ENTRAR

Cambiar entre categorías


Para cambiar entre categorías, solo hay que hacer clic en el Menú de Categorías y
elegir la Categoría de su Preferencia

136 SENATI-Computación e Informática


ones de Inicio

Ordenar categorías
Haga clic con el botón secundario del mouse en el menú de la parte superior del panel
de exploración y elija Ordenar por.. Elegir la Opción que desee

Vistas
Haga clic con el botón secundario del mouse en el menú de la parte superior del panel
de exploración y elija Vista por:

Opciones de la base de datos


Formulario o página inicial
Cuando usted abre una base de datos se le muestra
de forma predeterminada la ventana que le
permite administrar objetos en ella (ventana Base
de datos); esto es bueno, pero en muchos casos,
cuando se entrega una base de datos a un usuario
final, se desea que ellos accedan directamente a
los formularios en un orden predefinido
(precisamente para eso se ha diseñado el Panel de
Control en este capítulo).
Usted puede configurar el comportamiento de
Access al abrirse una base de datos de la siguiente
manera:
1. Haga clic en la ficha Complementos,
menú Herramientas y luego active la
opción Inicio

SENATI-Computación e Informática 137


Microsoft Office

Usted verá aparecer el cuadro de diálogo Inicio.

2. Especifique la configuración que desee establecer y haga clic en Aceptar.


3. Cierre la base de datos y vuelva a abrirla para ver el efecto de su configuración.

Para abrir una base de datos ignorando las opciones de inicio que se haya establecido
en ella:
1. Seleccione el archivo de la base de datos en el explorador de Windows.
2. Mantenga presionada la tecla SHIFT mientras hace doble clic sobre el archivo.

Finalizar el trabajo
Usted hará que al abrir la base de datos Pedidos:
 La barra de título muestre el texto Comercial Duop.
 Se muestre el formulario Bienvenido.
 No se muestre la ventana Base de datos.
 Se muestre la barra de menús hrrComercial en lugar de la barra de
menús predeterminada.
 Se impida ver la ventana Base de datos pulsando la tecla F11.

138 SENATI-Computación e Informática


ones de Inicio

Procedimiento
1. Haga clic en la ficha Complementos, el menú Herramientas y luego active la
opción Inicio.
2. Realice las siguientes acciones en el cuadro de diálogo:
a. Escriba Comercial Doup en la caja de texto Título de la aplicación.
b. En el cuadro combinado Mostrar Formulario/Página, seleccione Inicio.
c. En el cuadro combinado Barra de menús (sic), seleccione
mnuComercial.
d. Desactive la casilla Usar las teclas especiales de Access.
3. Haga clic en el botón Aceptar.
4. Cierre la base de datos y vuelva a abrirla para ver el efecto de su configuración.

Agregar barra de menús personalizada.


Puede utilizar macros de Access para crear menús contextuales personalizados que
aparezcan al hacer clic con el botón secundario en formularios, informes o controles
individuales. También puede crear menús personalizados que aparezcan en la cinta de
formularios o informes específicos.
Para crear un menú mediante macros, son necesarios tres pasos principales:
1. Crear un grupo de macros para definir los comandos del menú.
2. Crear otra macro para construir el propio menú.
3. Adjuntar el menú a un control, un formulario, un informe, o a la base de datos
como un todo.
En las secciones siguientes, se explican estos pasos en detalle.

Paso 1: Crear un grupo de macros que contenga los comandos del menú
En este paso, se crea un grupo de macros, cada una de las cuales será un
comando independiente en el menú contextual.
¿Qué es un grupo de macros?
a. En el grupo Otros de la ficha Crear, haga clic en Macro. Si el
comando no está disponible, haga clic en la flecha situada debajo
del botón Módulo o Módulo de clase y, a continuación, haga
clic en Macro.
b. En el grupo Mostrar u ocultar de la ficha Diseño, haga clic en
Nombres de macro para mostrar la columna Nombres de
macro.
c. Para cada comando que desee agregar al menú contextual
personalizado:

SENATI-Computación e Informática 139


Microsoft Office

En la columna Nombre de macro, escriba el texto que desee


que aparezca en el menú contextual (por ejemplo, "Imprimir
informe" o "Guardar").
Si desea crear una tecla de acceso de modo que se pueda
elegir el comando con el teclado, escriba el símbolo & delante
de la letra que desea designar como tecla de acceso en el
nombre del comando (por ejemplo "&Guardar"). Esta letra
aparecerá subrayada en el menú.
En la columna Acción, seleccione la primera acción que desea
que se produzca al hacer clic en el comando dentro del me nú
contextual.
Si desea que se ejecuten más acciones al seleccionar este
comando, agréguelas en las líneas siguientes. En todas las
acciones siguientes, deje vacía la celda Nombre de macro.
Para crear una línea entre dos comandos del menú, escriba un
guión (-) en la columna Nombre de macro entre los
comandos de menú correspondientes.
d. Guarde la macro con algún nombre, por ejemplo,
mcrComandosMenúContextual.
La ilustración siguiente muestra un ejemplo de grupo de macros para un
menú personalizado o contextual.

Paso 2: Crear una macro para construir el menú


Este paso puede parecer redundante, pero para construir el menú
contextual a partir del grupo de macros creado en el paso 1, debe crear
una segunda macro que contenga la acción de macro AgregarMenú .
Esta macro se denomina a veces "macro de menú".
a. En el grupo Otros de la ficha Crear, haga clic en Macro. Si el
comando no está disponible, haga clic en la flecha situada debajo
del botón Módulo o Módulo de clase y, a continuación, haga clic
en Macro.
b. En la primera línea de la macro, seleccione AgregarMenú en la
lista Acción.
c. En Argumentos de acción, en el cuadro Nombre del menú,
escriba el nombre del menú (por ejemplo, "Comandos de

140 SENATI-Computación e Informática


ones de Inicio

informe"). Este argumento no es obligatorio, pero se recomienda


por si en el paso 3 quisiera agregar el menú a una ficha de la cinta
(por ejemplo, la ficha Complementos de un informe o
formulario). Si en el paso 3 agrega el menú como menú
contextual, el argumento Nombre del menú no se tendrá en
cuenta.
d. En el cuadro Nombre de macro de menú, escriba el nombre de la
macro creada en el paso 1.
e. Guarde la macro con algún nombre, por ejemplo,
mcrAgregarMenúContextual.
La ilustración siguiente muestra un ejemplo de macro de menú que crea
el menú diseñado en el paso 1.

Paso 3: Adjuntar el menú a un control, formulario, informe o base de datos


Según dónde desee que aparezca el menú, siga uno o varios de los
procedimientos siguientes.

Agregar el menú a la ficha Complementos de un formulario o informe


Utilice este procedimiento si desea que el menú aparezca en la ficha Complementos de un
formulario o informe en particular, como se muestra en la ilustración siguiente:

a. En el panel de navegación, haga clic con el botón secundario en el


formulario o el informe donde desea que aparezca el menú y, a continuación,
haga clic en Vista Diseño.
b. En la ficha Diseño, en el grupo Mostrar u ocultar, haga clic en Hoja de
propiedades.
c. Para seleccionar todo el objeto, seleccione Formulario o Informe en la lista
que aparece en la parte superior del panel de tareas Hoja de propiedades.
d. En la ficha Otras de la hoja de propiedades, en el cuadro de propiedad Menú
contextual, escriba el nombre de la macro que creó en el paso 2 (en este
ejemplo, “mcrAgregarMenúContextual”).

SENATI-Computación e Informática 141


Microsoft Office

La próxima vez que abra el formulario o informe, la ficha Complementos aparecerá en


la cinta. Haga clic en la ficha para ver el menú.
Para obtener más información sobre técnicas de personalización de la cinta, por
ejemplo agregar fichas personalizadas u ocultar las fichas predeterminadas, vea el
artículo Personalizar la cinta de opciones.

Agregar el menú como menú contextual de un formulario, informe o control


Utilice este procedimiento si desea que el menú aparezca al hacer clic con el botón
secundario en un formulario, informe o control específicos, como se muestra en la
ilustración siguiente:

a. En el panel de navegación, haga clic con el botón secundario en el formulario


o el informe donde desea que aparezca el menú y, a continuación, haga clic en
Vista Diseño.
b. En la ficha Diseño, en el grupo Mostrar u ocultar, haga clic en Hoja de
propiedades.
c. Seleccione el control u objeto al que desea adjuntar el menú contextual.
d. Para seleccionar todo el objeto, seleccione Formulario o Informe en la lista
que aparece en la parte superior del panel de tareas Hoja de propiedades.
e. En la ficha Otras de la hoja de propiedades, en el cuadro de propiedad Barra
de menús contextuales, escriba el nombre de la macro que creó en el paso 2
(en este ejemplo, “mcrAgregarMenúContextual”).

Agregar el menú como menú contextual global


Este procedimiento reemplaza todos los menús contextuales predeterminados de la
base de datos actual. Los menús contextuales personalizados que haya vinculado a
formularios, informes o controles específicos no se verán afectados.

a. Haga clic en el botón de Microsoft Office y, a continuación, haga clic en


Opciones de Access.
b. En el cuadro de diálogo Opciones de Access, haga clic en Base de datos
actual.
c. En Opciones de barra de herramientas y de la cinta de opciones, en el
cuadro Barra de menús contextuales, escriba el nombre de la macro que creó
en el paso 2 (en este ejemplo, “mcrAgregarMenúContextual”).
Los menús contextuales personalizados sustituyen a los menús
contextuales predeterminados de los objetos a los que se asocien. Si desea

142 SENATI-Computación e Informática


ones de Inicio

conservar algunos comandos de Access para utilizarlos en estos menús,


use la acción EjecutarComando para colocar los comandos dentro de los
grupos de macros de los menús donde los desee.
Un menú contextual personalizado asociado a un control reemplaza
cualquier otro menú contextual personalizado definido en la base de datos.
Un menú contextual personalizado asociado a un formulario o informe
reemplaza un menú contextual global personalizado.
Cuando se especifica una macro de menú para un formulario, un informe o
para la base de datos, Access ejecuta esta macro de menú siempre que se
abre el formulario, el informe o la base de datos. Si modifica la macro de
menú o el grupo de macros que definen los comandos mientras el
formulario, el informe o la base de datos están abiertos, deberá cerrarlos y
volverlos a abrir para ver los cambios.
Para crear un submenú (submenú: menú que aparece cuando un usuario
selecciona un comando en un menú de nivel superior.) , siga el paso 1 para
crear un grupo de macros independiente que sólo contenga los comandos
del submenú. A continuación, siga nuevamente el paso 1 para definir los
comandos del menú de nivel superior. Agregue el submenú como un
elemento en el grupo de macros de nivel superior, mediante la acción de
macro AgregarMenú. La ilustración siguiente muestra el grupo de macros
de un menú que contiene un submenú y, a continuación, muestra el menú
contextual resultante. La tercera línea en el grupo de macros crea el
submenú Exportar a... (mcrSubMenú).

Puede crear varios niveles de submenús mediante acciones AgregarMenú en


los grupos de macros de cada nivel de menú. No olvide suministrar un valor
para el argumento Nombre del menú de cada acción
AgregarMenú, ya que de lo contrario el submenú aparecerá como una
línea vacía en el menú de nivel superior.

SENATI-Computación e Informática 143


Microsoft Office

Sólo se admiten condiciones en la macro de menú de nivel superior. Dicho


de otro modo, puede usar una condición en una macro de menú para
determinar si un menú o menú contextual determinados aparecerán, pero
solamente para los menús en el nivel superior. No se pueden usar
condiciones para mostrar ni ocultar comandos o submenús en los menús.
También puede utilizar una condición para mostrar u ocultar un menú
contextual personalizado o un menú contextual global.
De manera opcional, la macro de menú que cree en el paso 2 puede formar
parte de un grupo de macros. Por ejemplo, si tiene varios menús
contextuales para diferentes objetos o controles, puede crear un único objeto
de macro que contenga todas las macros de menú necesarias. Asegúrese de
mostrar la columna Nombre de macro y de escribir un nombre distinto para
cada macro. En el paso 3, use este formato para hacer referencia a la macro:
nombredegrupodemacros.nombredemacro.
Por ejemplo, mcrAgregarMenúsContextuales.AgregarMenú2.

Preguntas de Repaso
1. ¿Qué es una macro?
2. ¿Cómo se crea una macro?
3. ¿Cómo se asigna una macro a una etiqueta en un formulario?
4. ¿Cómo se asigna una macro a un botón de comando en un formulario?
5. ¿Cómo se crea una barra de herramientas?
6. ¿Cómo se especifican las opciones de inicio?
7. ¿Qué debe hacerse para que al abrirse una base de datos de Access se ignoren
las opciones de inicio que se haya especificado?

Ejercicios Casos Propuestos

Abra la base de datos Biblioteca; en ella:


1. Cree un panel de control que abra los siguientes objetos de la base de datos:
a. El formulario Categorías
b. El formulario Usuarios
c. El informe Préstamos.
2. Cree una barra de herramientas que abra al formulario Panel de control y a los
objetos mencionados en la pregunta 1 de esta actividad.

144 SENATI-Computación e Informática


Capítulo

Programación con VBA


En este capítulo aprenderemos:

 Agregar controles ActiveX


 Programación de controles y procesos con VBA

SENATI-Computación e Informática 145


Uso de VBA en Access
VBA quiere decir Visual Basic para Aplicaciones. Es un conjunto de librerías, (un tipo
especial de programas), desarrollado por Microsoft que incluye, entre otras cosas, un
entorno de desarrollo y un lenguaje de programación.
VBA no es exclusivo de Access; lo podemos encontrar también en todas las
aplicaciones de Office como Word o Excel, en otro tipo de programas como Project o
Visio, y en programas que no son de Microsoft y tan diversos como Corel Draw o
AutoCad. Dominando los fundamentos de VBA, se podría desarrollar aplicaciones en
cualquiera de esos aplicativos. VBA tiene un entorno de programación que es
semejante para todos estos programas. Por ejemplo:

VBA para Access VBA para MS Word

VBA para Corel Draw VBA para AutoCAD

SENATI-Computación e Informática 147


Microsoft Office

Los módulos
Los módulos son los objetos en los que se guarda el código que va a utilizar VBA. Hay
tres tipos de módulos.
 Módulos generales

 Módulos asociados a formularios e informes


 Módulos de Clase.

Actividad 1: Crear un Formulario


Manos a la obra: vamos a crear una nueva base de datos con el nombre Entrega01.mdb

Para acceder a los módulos generales debemos presionar en la Ficha Crear, y luego la
Cinta Otros, para luego elegir Modulo.

148 SENATI-Computación e Informática


ic ón con VBA

Una vez hecho esto se abre el editor de VBA y nos crea un módulo con el original
nombre de Módulo1.

Este módulo está vacío, salvo la primera Linea: Option Compare Database
Desde la ventana del editor que se ha abierto, presionamos la opción de menú:
Herramientas > Opciones

En el formulario que aparece activaremos la opción [Requerir declaración de


variables].

SENATI-Computación e Informática 149


Microsoft Office

Le damos a Aceptar.
¿Pero qué es esto?-
Cuando empecemos a escribir código, veremos que existen unos elementos que
se llaman variables, a los que podremos asignar valores.
Si tenemos activada la opción [Requerir declaración de variables] nos obligará
a declarar las variables antes de poder usarlas. Más adelante veremos que hay
variables que pueden contener Texto, Números, Fechas, Objetos, etc.
Esto significa darle nombre y expresar qué tipo de dato va a contener.
Una vez hecho esto grabamos el módulo dándole al botón Guardar ó a la opción
de menú Archivo, Guardar ó combinando las teclas [Ctrl] + [S]

Aceptamos el nombre por defecto Módulo1 y cerramos la ventana.


Para cerrar la ventana del editor podemos usar Varios caminos:
1. Hacemos clic en el menú Archivo y elegimos Cerrar y volver a
Microsoft Office Access

2. O simplemente usar el botón Cerrar

Nuestro primer formulario con código


Vamos a crear un nuevo formulario que lo vamos a llamar Saludo. Para que nos de
plena libertad de actuación, vamos a desactivar el botón del [Asistente para controles]

150 SENATI-Computación e Informática


ic ón con VBA

1. Nos vamos a la Ficha Crear, Cinta Formularios y hacer clic en Diseño del
Formulario
2. Lo guardamos como Saludo

3. Añadimos una Etiqueta al formulario.

a. Utilizando las Propiedades, ponemos a la propiedad [Nombre] de la


etiqueta el valor lblSaludo (Ficha Otras de la hoja de Propiedades)
sustituyendo el que tenía por defecto: Etiqueta1.
b. Desde la Ficha [Formato] le ponemos a la propiedad [Título] el valor
Saludo, a la propiedad [Tamaño de la fuente] el valor 24, y al [Color de
texto] el valor 255 (Rojo) y a la [Alineación del texto] el valor Centro.
4. Añadimos un Botón y le ponemos como [Nombre], en vez de Comando2,
cmdSaludo
5. Seleccionamos el Formulario y ponemos a No las propiedades [Selectores de
registro], [Botones de desplazamiento] y Separadores de registro.
6. La propiedad [Centrado automático] la ponemos a Sí, y a la propiedad [Título]
el valor Mi primer código.

SENATI-Computación e Informática 151


Microsoft Office

Le ponemos como [Nombre] Saludo. Si visualizamos el formulario se verá


algo así como esto:

Si presionamos el botón vemos que no pasa nada. Vamos a hacer que cuando
se presione el botón aparezca el mensaje ¡¡¡Hola Mundo!!! en la etiqueta
lblSaludo, sustituyendo su contenido actual que es Saludo.

Un poquito de teoría
Windows funciona con las llamadas Ventanas. Esas ventanas contienen
objetos, y tanto las ventanas como los objetos pueden mandar unos “mensajes”
para indicar a la aplicación que usa Windows, o al propio Windows que han
ocurrido determinadas cosas. Esos mensajes se llaman Eventos. Por cierto; en
realidad muchos de los objetos, como los botones, también son ventanas; pero
esa es otra guerra.
En nuestro caso tenemos los siguientes objetos:
• Formulario Saludo
• Etiqueta lblSaludo
• Botón cmdSaludo
Cada uno de esos Objetos posee una serie de Propiedades, generan
determinados Eventos y pueden hacer determinadas cosas mediante unos
procedimientos propios que se llaman Métodos.
Por ejemplo, al presionar el botón cmdSaludo, se genera el evento [Al hacer
Clic] (Click). Podríamos capturar ese evento y aprovecharlo para, por ejemplo,
cambiar el texto de la etiqueta lblSaludo.
El texto que aparece en la etiqueta está en la propiedad [Título]; en inglés
[Caption]. Ahora la pregunta: ¿dónde y cómo se hace todo eso? Cada
formulario, y veremos más adelante que también cada informe, lleva asociado
un módulo especial. Se llama módulo de clase del formulario.
Vamos a verlo.
En el modo Diseño del formulario Saludo, seleccionamos el botón cmdSaludo.
Abrimos la Hoja de propiedades y seleccionamos la pestaña [Eventos], y
dentro de éstos el evento [Al hacer clic]. Al poner el cursor sobre él, nos
muestra un botoncito con tres puntos.
Pulsamos en él, y seleccionamos [Generador de código] en la ventana que se
nos abre. A continuación pulsamos en el botón [Aceptar].

152 SENATI-Computación e Informática


ic ón con VBA

Tras esto nos abrirá el módulo de clase del formulario Saludo, con el esquema
de código correspondiente al evento Clic del botón cmdSaludo:

Crea el siguiente código:


Option Compare Database
Option Explicit
Private Sub cmdSaludo_Click()
End Sub

Lo que ahora nos importa es el conjunto


Private Sub cmdSaludo_Click()
End Sub

Este código se corresponde al procedimiento que recoge el evento Clic del botón.
Consta de varias partes:
Private Sub: Indica que empieza un procedimiento del tipo Sub, más adelante veremos
en detalle qué es esto.
cmdSaludo_Click(): Indica que es el procedimiento al que llama el evento Click del
botón cmdSaludo.
End Sub: Indica el punto donde acaba el procedimiento
Entre esas dos líneas podemos escribir el código que le dirá a Access qué es lo que tiene
que hacer.
Vamos a hacer 2 cosas:

SENATI-Computación e Informática 153


Microsoft Office

1. Escribiremos en la propiedad [Título] (Caption) de la etiqueta el texto


Hola Mundo.
2. En la propiedad [Título] (Caption) del formulario mostraremos el texto.
Aquí estoy.
Debo modificar el texto del código para que ponga:
Option Compare Database
Option Explicit
Private Sub cmdSaludo_Click()
Me.lblSaludo.Caption = "¡¡¡Hola Mundo!!!"
Me.Caption = "¡Aquí estoy!"
End Sub
Al escribir el texto, se abre una ventana de Ayuda contextual, lo que simplifica en gran
medida la escritura correcta del texto.

Esta ventana te va mostrando las propiedades y métodos. Para seleccionar uno en


concreto podemos utilizar la tecla [Enter], o mejor aún, la tecla [tab] ó de tabulación (es
la tecla que suele estar encima de la de Bloqueo de Mayúsculas).
Me.lblSaludo.Caption = "¡¡¡Hola Mundo!!!"
Lo que hace es pones el texto ¡¡¡Hola Mundo!!! en la etiqueta lblSaludo. Las
comillas son para indicar a VBA que lo que hay dentro es un texto.
Me.Caption = "¡Aquí estoy!"
Pone el texto ¡Aquí estoy!en el título del formulario.
Me es el propio formulario.
Si nos fijamos en la sentencia Me.lblSaludo.Caption está indicando la propiedad
Caption del objeto lblsaludo del formulario actual.
Fijese que cada objeto ó propiedad está separada por un punto. Hablaremos más de esto.
Cerramos la ventana de edición del código, y si hemos seguido correctamente los pasos,
al presionar el botón formulario debería tener un aspecto semejante a éste:

154 SENATI-Computación e Informática


ic ón con VBA

Entorno de desarrollo
Ya hemos comentado que VBA para Access tiene un entorno de desarrollo similar al de
otras aplicaciones con VBA.
Este entorno recibe el nombre de IDE, que significa algo así como Entorno de
Desarrollo Integrado. En el “idioma bárbaro” se escribe Integrated Development
Environment.
Este entorno consta de una serie de ventanas y botones, algunos de los cuales se
muestran en el siguiente gráfico

Interrumpir
Ejecutar Macro

Las ventanas, por el momento más importantes para nosotros, son


• Ventana de Código
Es la ventana en la que se escribe todo el código que va a gestionar nuestra
aplicación.

SENATI-Computación e Informática 155


Microsoft Office

Podemos seleccionar el módulo que se mostrará en cada momento, por ejemplo


seleccionándolo con un doble clic en la ventana del Explorador del Proyecto.
• Ventana del Explorador del Proyecto
La ventana del proyecto nos muestra todos los objetos que poseen módulos.
Entre ellos tenemos los módulos de Formularios e Informes, los módulos
estándar, y los módulos de clase.
En esta primera parte del cursillo vamos a trabajar con los módulos asociados a
formularios y los módulos estándar.
Si en la ventana del proyecto hacemos doble clic sobre cualquiera de los
elementos que aparecen, abriríamos su módulo correspondiente.
Por ejemplo, si en la base de datos correspondiente al gráfico presionáramos
(doble clic) el formulario Form_frmMarciano nos abriría el módulo asociado
al formulario frmMarciano.
Si presionamos sobre Funciones Marcianas nos abriría el módulo estándar
Funciones Marcianas y si presionáramos sobre CMarciano, nos abriría el
módulo de clase CMarciano.
Fijaros que el icono asociado a cada módulo cambia en función del tipo que
sea.
• Ventana Inmediato
Esta es una ventana desde la que podemos ordenar que se ejecuten
determinadas órdenes, o imprimir desde el código determinados valores para
efectuar comprobaciones. Recibe también el nombre de Ventana de
Depuración.
Su mayor utilidad es para la depuración del código, es decir para efectuar
comprobaciones de errores. De hecho es un objeto que recibe el nombre de
Debug.
• Ventana Locales
Esta es una ventana que también sirve para la comprobación y el seguimiento
de los valores que van tomando determinados parámetros, variables, etc.
durante la ejecución del código.
Por tanto comparte la función de depuración con la ventana Inmediato.
• Ventana Propiedades
En esta ventana podemos ver las propiedades de los diferentes objetos que
intervienen en el proyecto, al estilo de la ventana de propiedades del
Formulario ó Informe en el modo diseño.
Los módulos, como Objetos de Access, también tienen sus propiedades.
Existen otras ventanas no comentadas aquí, pero que no dejan de ser importantes.
Entre ellas podemos destacar la Ventana del Examinador de Objetos, o la Ventana de
Inspección, de las que hablaremos más adelante.

156 SENATI-Computación e Informática


ic ón con VBA

Actividad 2: Uso de la ventana Inmediato


Creamos una nueva base de datos a la que llamamos Entrega02.mdb
Vamos a Módulos y presionamos en el botón [Nuevo].
Nos creará un módulo con el original nombre de Módulo1.
Vamos a examinar las ventanas que se abren y las comparamos con el gráfico de la
Actividad 1.
¿Identificas lo que se ha explicado en los puntos anteriores?
Si por casualidad no apareciera la ventana Inmediato, haz lo siguiente:
Vete al menú Ver y presiona en la opción [Ventana Inmediato]; o más fácil
aún, presiona la combinación de teclas [Ctrl] + [G].
Vamos a mantener las ventanas de Código, la de Inmediato y la del
Explorador del proyecto. Las otras, si te molestan, puedes cerrarlas. Más tarde
las podrás abrir con los botones o las opciones de menú correspondientes (Menú
Ver > y seleccionar su opción).
¿Para qué sirve la ventana Inmediato? Vamos a hacer un ejemplo.
Pincha con el cursor en ella, escribe lo siguiente:
Print 4 + 5 y dale a la tecla [Enter] Y ¡oh sorpresa!
Escribe 9 en la siguiente línea.

Ahora escribe? 4 + 5 más [Enter]


Y vuelve a escribir la cifra 9

Escribe: ? 4 * 5 más [Enter]


¿Adivinas qué va a escribir? ¡Premio! 20

Ahora vamos a hacerlo un poco más complicado


a = 2 : b = 4 : Print a * b
Pues sí, te escribe 8 en la siguiente línea.

¿Qué pasará si escribo?


a^b y aprieto [Enter]?
¡Sorpresa! Ha escrito 16 que es 2 elevado a 4

Si ahora presiono la tecla de la barra de menú que tiene la forma de un


cuadradito azul y que en el gráfico la identifico con Interrumpir la ejecución y
reiniciar, si vuelvo a escribir.

? a^b como resultado me da 1.


Pensemos un poco sobre estos sorprendentes resultados. Tras la primera línea
a = 2 : b = 4 : Print a * b

Parece que Access recuerda que existe “algo” llamado a, que se le ha dado el
valor 2 y algo llamado b que tiene el valor 4, como se demuestra tras el resultado
de escribir la segunda vez
? a^b

SENATI-Computación e Informática 157


Microsoft Office

Pero resulta que tras presionar el botón de Reiniciar (el cuadradito azul) resulta
que Access se equivoca y da como resultado 1.

Pues no, Access no se ha equivocado. El exponente b tiene el valor 0, y cualquier


número elevado al exponente 0 da como resultado 1.

En realidad éste no es un gran ejemplo, ya que estaríamos en el caso singular de


0 elevado a cero, que no está definido en el campo de los números reales.

Pero no vamos a ser más “papistas que el Papa”. Vamos a hacer ahora otro
experimento. Escribimos en la ventana Inmediato:
a = "2" : b = "4" : ? a + b
Tras presionar la tecla Enter el resultado es ¡chan, chan….!

Si se te ha ocurrido que sería 6 te puedo decir que estás equivocado.


Si tu respuesta ha sido 24, has acertado;

Como introducción hemos usado unos elementos que se llaman Operadores.


Los que hemos usado por ahora son:

+ Suma
* Producto
^ Exponenciación

El símbolo: no es el operador de división. En realidad es un simple separador de


instrucciones. El operador de división es /.

Hay otros muchos más que ya iremos viendo poco a poco.


¿Por qué al escribir
a = "2" : b = "4" : ? a + b, nos da 24?

Vamos a fijarnos en estos pequeños detalles a = "2" y b = "4"


La cifra 2está entre 2 comillas, lo mismo que la cifra 4.

Esto hace que VBA considere el 2 y el 4, no como números, sino como texto,
también llamado cadena. Tras esto el operador + no efectúa una suma numérica,
sino que enlaza dos cadenas de texto. Si enlazamos la cadena "2" con la cadena
"4", nos da la cadena "24".

Para los “listos” que ya se sabían el resultado, el resto que no haga ni caso de
este párrafo, les informo que esto, en lenguajes más avanzados, se llama
Sobrecarga de Operadores, lo que equivale a decir que el operador + está
Sobrecargado.

En resumen, que con números hace la operación de Suma numérica y con


cadenas de texto la operación de enlazar cadenas.
Vamos a seguir con “pequeñas sorpresas”. Escribamos algo tan inocente como:
Print 2,4 * 2

158 SENATI-Computación e Informática


ic ón con VBA

¡Sorpresa!. ¿Qué ha pasado?


Que nos imprime: 2 8

¿Por qué no nos ha dado como resultado 4,8 que es lo que le daría a un buen
cristiano, judío ó musulmán, (o lo que sea siempre que sea bueno)?.

De toda la vida la operación 2,4 * 2ha dado como resultado 4,8


¡La culpa de esto la tienen que tener los americanos! Y no es broma.

Sólo un pequeño matiz:


Los americanos utilizan la coma como separador de miles.
En cambio el separador decimal, en vez de la coma, es el punto.

En una sentencia Print, cuando encuentra una coma entre dos valores, intercala
una tabulación.
Probemos ahora:
Print 2.4 * 2 y nos da 4,8

¡Nueva sorpresa!.
Ahora lo hace bien pero ¿no hemos quedado que el separador decimal es el
punto?.

¿Por qué ahora me muestra el resultado decimal con una coma como separador?

Cosas de Windows.
Como sabe que al otro lado de la pantalla hay un hispano, le muestra el resultado
“en cristiano”; Excepto para algunos PCs. De México, Florida y otra s
“colonias”.

¿Y cómo lo sabe?-.
Fácil; para eso está la Configuración Regional de Windows-. Vamos a dejar de
divagar y sigamos experimentando. Escribimos en la ventana Inmediato lo
siguiente:
a = 2 : b = "Peras" : Print a + b

¡No salimos de sustos!


¿Qué he roto?

SENATI-Computación e Informática 159


Microsoft Office

Tranquilo que no has roto nada.


¿No nos enseñaron en el colegio que no había que sumar Peras con Manzanas?

Le estamos diciendo a VBA que sume un número con un texto, y lógicamente se


queja. Cambiemos la línea
a = "2" : b = " Peras" : ? a + b

Ahora sí imprime bien


2 Peras

Al poner el 2 entre comillas, lo hemos cambiado al modo texto y entonces ha


funcionado. Si hacemos
a = "Dos" : b = " Peras" : ? a + b

Nos imprimirá
Dos Peras

Tenemos “algo” llamado que le da lo mismo ser Número que Texto.

Actividad 3: Uso de Variables


Ya hemos visto que en la ventana Inmediato podemos efectuar cálculos, con valores
directos o con unos elementos a los que les asignamos valores.
Todo esto es interesante, pero todavía no podemos hacer grandes cosas, de hecho con
una simple calculadora seríamos más eficientes.
Un poco de paciencia; todo a su tiempo…
Si no tenemos abierto un fichero Access, es el momento para hacerlo, por ejemplo crea
un nuevo archivo con el nombre Entrega03.mdb
Abrimos el apartado [Módulos] y presionamos el botón [Nuevo].
Pulsamos con el cursor en la ventana de Código y escribimos lo siguiente:
Option Compare Database
Option Explicit
Const Pi As Double = 3.14159265358979
¿Qué significa esta última línea?
A falta de explicar otros detalles, declaramos una Constante llamada Pi del tipo Double
(un valor numérico de coma flotante de 8 bytes) y le asignamos el valor del famoso Pi.
Les recuerdo que Pi es algo más que el simple 3,1416 que nos enseñaron en el colegio…
Al declarar Pi como Constante nos impide que en otro punto del módulo podamos hacer
algo así como
Pi = 25.36
¿Por qué?-
Porque el valor de una constante es en definitiva Constante, y no se puede cambiar-.

160 SENATI-Computación e Informática


ic ón con VBA

¿Y cómo podemos declarar algo que se pueda cambiar?-


Ese algo, en contraposición a una constante, se llama Variable.
Para declarar variables se podría hacer algo así como
Dim Precio As Currency
Dim Nombre As String
Enseguida veremos qué es eso de Currency y String. Ahora vamos a intentar usar el
valor que hemos declarado de Pi. Pulsamos en la ventana Inmediato y escribimos
? Pi y presionamos [Enter]
¡Y no pasa nada!
Se suponía que seríamos muy felices si nos imprimiera el valor 3,14159265358979
¿Por qué no lo ha hecho?

Ámbito ó Alcance de las Constantes y variables


Antes que nada aclarar que se suelen utilizar indistintamente ambos términos
¿Qué entendemos por ámbito o por Alcance?
Algo tan simple, y a la vez tan complejo, como los lugares en los que VBA puede
“Ver”, a una variable ó constante lo que equivale a que se entera que existen, las
constantes y variables que declaramos. Más adelante veremos que todo esto aún se
puede generalizar para otros elementos de la programación.
En el punto anterior hemos escrito? Pi en la ventana Inmediato y no ha pasado nada.
Al declarar en la cabecera de un módulo una variable con Dim, o una constante con
Const hacemos que esa variable, y esa constante sólo sean visibles desde dentro del
código del módulo.
Para que puedan verse desde fuera es necesario ponerles la palabra Public. Esto se hace
de forma diferente para las Constantes y Variables.
En el caso de las constantes se pone Public delante de la palabra Const. En el caso de la s
variables Publicsustituye a Dim.
El código del módulo quedaría así:
Option Compare Database
Option Explicit
Public Const Pi As Double = 3.14159265358979
Public Precio As Currency
Public Nombre As String
Si ahora pulsamos con el ratón en la ventana Inmediato, escribimos ? Pi y [Enter] Nos
escribirá 3,14159265358979.
Vamos a hacer otra prueba
Escribe en la ventana Inmediato Pi = 3.1416y pulsa [Enter]. ¿Qué ha pasado?

SENATI-Computación e Informática 161


Microsoft Office

Simplemente que estamos intentando


asignar un valor a una constante que
ya lo tenía.
En definitiva una constante sólo
puede tomar el valor una vez, “y a ti
te encontré en la calle”. Por definición
una constante no puede cambiar.
Sólo mantiene relaciones y se casa
una vez.
En cambio las variables son mucho más promiscuas.
Todo lo anterior, entiendanlo como una introducción a la declaración de variables y
Constantes, que en realidad presenta más posibilidades que las aquí vistas.
En puntos posteriores, estudiaremos el tema con más profundidad.
Aquí han aparecido cosas nuevas; por ejemplo la palabra Currency y la palabra String.
En el ejemplo, con Currency, hacemos que la variable Precio sea del tipo Moneda; un
tipo de datos “aparentemente” de coma flotante creado para manejar datos monetarios
sin errores de “Redondeo”.
Puedes obtener ayuda sobre estos tipos de datos poniendo el cursor, por ejemplo en
cualquiera de sus nombres, por ejemplo Currency y pulsando [F1]. Con String hacemos
que la variable Nombre sea tratada como una variable de tipo Cadena, que permite
manejar cadenas de Caracteres.
En realidad podríamos haber hecho las declaraciones sin especificar su tipo pero, por el
momento sin más explicaciones, les diré que esto genera código menos optimizado e
incluso puede dar problemas a la hora de encontrar posibles errores.
Por ejemplo podríamos haber hecho:
Public Const Pi = 3.14159265358979
Public Precio
Public Nombre
Y la cosa funcionaría…
En realidad el declarar así una variable ó constante, equivale a haber hecho esta otra
declaración
Public Const Pi As Variant = 3.14159265358979
Public Precio As Variant
Public Nombre As Variant
-¿Y qué es eso de Variant?-
El Variant es un tipo de dato al que se le puede asignar casi cualquier cosa. Esto lo hace
a costa de consumir más recursos que otros tipos de variables y por consiguiente una
velocidad más lenta en la ejecución.
Ya tenemos las bases para el siguiente paso.

162 SENATI-Computación e Informática


ic ón con VBA

Actividad 4: Uso de Procedimientos y Funciones


Procedimientos Sub
Procedimientos Function o Funciones

Procedimientos Sub
Un procedimiento Sub llamado también Procedimiento a secas es un conjunto de código
que realiza determinadas tareas.
Suele estar contenido entre las expresiones Sub y EndSub
El término Sub puede ir precedido de otras expresiones, por ejemplo para delimitar el
ámbito en el que puede ser llamado el procedimiento.
Al procedimiento se le pueden pasar una serie de datos para que los use internamente. A
estos datos se les llama Parámetros ó Argumentos.
Si en la ventana de código escribimos la palabra Sub, le ponemos encima el cursor y
presionamos la tecla [F1], Access nos mostrará la ayuda aplicable a Sub.
En la ayuda podemos entre otras cosas podemos ver:

[Private | Public | Friend] [Static] Sub nombre [(lista_argumentos)] [instrucciones]


[Exit Sub]
[instrucciones]
End Sub

Por cierto, estas líneas indican cómo es la estructura de un procedimiento Sub. Los
elementos que están entre Paréntesis Cuadrados [ ] son opcionales.
Cuando hay varias palabras separadas por Barras Verticales |, nos está indicando que
podemos seleccionar una de ellas.
Según esto serían igual de válidas las sentencias:
Sub Procedimiento_01()
End Sub

Public Sub Procedimiento_02()


End Sub

Private Sub Procedimiento_03()


End Sub

Public Sub Procedimiento_04(Argumento1 As Double)


End Sub
Por supuesto que cada opción genera un código que se comportará de forma diferente. Es
igualmente válido el que ya hemos usado en la primera entrega.
Private Sub cmdSaludo_Click()
Me.lblSaludo.Caption = "¡¡¡Hola Mundo!!!"
Me.Caption = "¡Aquí estoy!"
End Sub

SENATI-Computación e Informática 163


Microsoft Office

Con una salvedad, este último es un tipo especial de Sub. Y es especial porque captura
el evento que se produce cuando de presiona el botón cmdSaludo de su formulario.
Recordemos que un Evento es un mensaje que envía Windows y en este caso es
capturado por Access.
En el módulo que hemos creado vamos a escribir el siguiente código:
Public Sub Circunferencia()
Dim Radio As Single Radio = 2.5
Debug.Print "Circunferencia = " & 2 * Pi * Radio
Debug.Print "Círculo = " & Pi * Radio ^ 2 & " m2"
End Sub
Ahora, en la ventana Inmediato escribe Circunferencia y presiona [Enter]
Efectivamente, en esa ventana se escribirá:
Circunferencia = 15,7079632679489
Círculo = 19,6349540849362 m2
Vamos a analizar un poco esto.
Hemos creado un procedimiento llamado Circunferencia. Este procedimiento es de los
de tipo Sub.
La primera línea es el encabezado.
Al hacerlo Public, dentro de un módulo estándar, permitimos que se pueda llamar desde
cualquier parte de la base de datos. Es un procedimiento público.
En la segunda línea declaramos la variable Radio, de tipo Single.
El tipo Single es un tipo de coma flotante, que ocupa 4 bytes, o lo que es lo mismo, 32
bits. En la siguiente línea asignamos a la variable el valor 2.5
Recuerdo que dentro del código, las comas separadores de decimales se ponen como
puntos.
La siguiente línea utiliza el método Printdel objeto Debug.
La forma de llamarlo es poniendo primero el objeto, a continuación un punto y después
el método.
Fijese que mientras lo escribes se les muestra una “Ayuda en línea” que les permite
seleccionar lo que quieres escribir.

164 SENATI-Computación e Informática


ic ón con VBA

El objeto Debuges la propia ventana Inmediato.


El método Printimprime lo que se ponga a continuación.
Lo primero que imprime es una cadena, en nuestro caso "Circunferencia = " A
continuación vemos el operador & seguido de la expresión 2 * Pi * Radio Este operador
hace de “Pegamento” entre dos expresiones.
En este caso enlaza la cadena primera con el resultado de la operación 2 * Pi * Radio
Dando como resultado Circunferencia = 15,7079632679489
Lo mismo es aplicable a la siguiente línea.
Con End Sub se acaba el código del procedimiento.
- Esto está bien, pero sólo puede imprimir los datos de la circunferencia de radio
2,5, lo que no es gran cosa.
- Bueno, sí. Es un inicio.
- Ahora, modifico el procedimiento Sub, de la siguiente forma:
Public Sub Circunferencia(Radio As Single)
Debug.Print "Circunferencia = " & 2 * Pi * Radio
Debug.Print "Círculo = " & Pi * Radio ^ 2 & " m2"
End Sub
Fijense que la declaración de la variable Radio ya no se hace en el cuerpo del
procedimiento, sino en su cabecera.
Además ha desaparecido la línea en la que asignábamos el valor del radio.
¿Y cómo se utiliza esto?
No tiene ninguna complicación especial
Vamos a modificar la forma como llamamos desde la ventana Inmediato al
procedimiento, y escribimos
Circunferencia 2.5
El resultado es el mismo que en el caso anterior. Pero si escribimos
Circunferencia 7.8
Nos dará los valores correspondientes a una circunferencia de radio 7.8.
En este caso hemos utilizado un procedimiento con un único argumento. El argumento
es precisamente 7.8.
Si tuviera, por ejemplo 2, se escribirían separados por una coma
NombreProcedimiento Argumento1, Argumento2
Hay otro tipo de procedimientos de los que hemos hablado.
Se llaman procedimientos Function, las famosas Funciones.

Funciones
En la entrega anterior hemos visto una introducción a los procedimientos Sub.

SENATI-Computación e Informática 165


Microsoft Office

Otro de los tipos de procedimientos son los procedimientos Function, que al igual que
los procedimientos Sub están delimitados por Functiony End Function.
La principal diferencia entre un procedimiento Sub y un procedimiento Function es que
este último devuelve un valor.
Entre los dos delimitadores se escribe el código que va a realizar las tareas que
deseemos, y al final devolverá algún valor.
Son las llamadas Funciones.
Veamos la forma como lo explica la ayuda de Access.
Si vamos a la ventana Inmediato, escribimos Function, ponemos el cursor en lo escrito y
presionamos [F1], entre otras cosas nos aparece la sintaxis de su declaración:
[Public | Private | Friend] [Static] Function nombre [(lista_argumentos)] [As tipo]
[instrucciones]
[nombre = expresión] [Exit Function] [instrucciones]
[nombre = expresión]
End Function
Vemos que para declarar una función empezaríamos, por ejemplo poniendo la palabra
Public (si quisiéramos que la función sea accesible desde cualquier parte de Access) a
continuación la palabra Function, después abriríamos un paréntesis y pondríamos los
parámetros que necesitáramos, cerraríamos el paréntesis y finalmente pondríamos el
tipo de datos que devolvería la función.
Supongamos que quisiéramos escribir una función en la que pasándole el ángulo y el
radio, nos devolviera la longitud de un arco de circunferencia.
La cabecera de esta función sería:
Public Function Arco(Angulo As Single, Radio As Single) As Single
Hay un truco para que una línea con mucho texto se pueda dividir en varias líneas, sin
que deje de ser una única línea.
Se coloca al final de la línea que se quiere dividir un espacio en blanco y la raya de
subrayado.
Con ello la línea anterior se podría poner así:
Public Function Arco(Angulo As Single, Radio As Single) As Single
Aquí declaramos la función como pública, para que se pueda utilizar desde cualquier
parte de la aplicación, siempre que se escriba en un módulo normal.
A continuación escribimos la palabra Function, seguida de su nombre, en este caso
Arco. Abrimos paréntesis y escribimos los dos parámetros que necesitamos, Angulo y
Radio, declarándolos del tipo Single (tipo numérico de coma flotante de 4 Bytes).
Cerramos el paréntesis y declaramos la función Arco también del tipo Single.
Si escribes la cabecera de la función en un módulo normal, veras que VBA, al igual que
pasaba con los procedimientos Sub, les añade automáticamente el final correspondiente,
es decir
End Function

166 SENATI-Computación e Informática


ic ón con VBA

Con esto la función quedaría así:


Public Function Arco(Angulo As Single, Radio As Single ) As Single
End Function
Por ahora no es gran cosa, ya que no hace nada.
Permiteme que escriba el código completo de esta función y la explique paso a paso.
Como en la entrega anterior, voy a declarar la constante Pi como pública en la cabecera
del módulo, para que pueda ser utilizada por la aplicación.
Si ya la tuviera declarada en otro módulo este paso no sería necesario. El código sería el
siguiente:
Option Compare Database
Option Explicit
Public Const Pi as Double = 3.14159265358979
Public Function Arco(Angulo As Single, Radio As Single) As Single
Arco = Pi * Radio * Angulo / 180
End Function

Aparte de la fórmula matemática de Trigonometría elemental, vemos lo siguiente.


Asignamos al nombre de la función Arco el resultado de la fórmula de la izquierda. Esto
hará que la función Arco devuelva el resultado de la operación matemática. Vamos a
centrarnos en lo que aparece entre Function y el final de la línea.
Vamos a probar la función.
Para ello escribiremos en la ventana Inmediato.
? Arco(360,1)
Supongo que ya no será sorpresa para ustedes la ayuda en línea que va prestando el
propio VBA de Access:

Tras completar la expresión, y darle a [Enter] nos escribirá: 6,283185 que es la longitud
de un arco de radio 1 y ángulo 360º, lo que equivale a la circunferencia completa.
Vamos a hacer un experimento: ¿Qué pasa si cambiamos la declaración de tipo de esta
función?

SENATI-Computación e Informática 167


Microsoft Office

Vamos a cambiar el Single de la declaración de la cabecera, por Double.


Double es un número de coma flotante de más precisión que single (8 Bytes de Double
frente a 4 de single). La cabecera quedará así:
Public Function Arco(Angulo As Single, Radio As Single) As Double
Para ello escribiremos? Arco(360,1) en la ventana Inmediato, y presionamos [Enter].
Efectivamente la precisión ha aumentado, ya que el valor escrito ha sido:
6,28318530717958
Por ello si cambiamos ahora la cabecera:
Public Function Arco(Angulo As Double, Radio As Double) As Double
Se supone que los cálculos serán más precisos.
Efectivamente así es, pero en una aplicación crítica deberíamos jugar que el tipo de
precisión adecuada, para hacer la aplicación lo más ligera posible.
Si probamos a hacer el cambio vemos que en nuestra función, con los datos anteriores
apenas cambia el resultado. Pero ¿qué pasaría si estuviéramos programando la órbita de
una nave con destino a Marte? En este caso la precisión sería un elemento clave.

Actividad 5: Funciones en Formularios


Vamos a hacer una pequeña y elemental calculadora que nos permita sumar dos cifras.
Cerramos los módulos y creamos, ó abrimos un formulario en modo diseño.
Este formulario no lo enlazamos con ninguna tabla ni consulta. Ahora vamos a
deshabilitar el asistente para controles.
En la barra de controles, pulsamos en la “Varita mágica” para
deshabilitarla. Deberá quedar sin resaltar, como se indica en el
gráfico
Ponemos dos cuadros de texto en el formulario.
Por defecto, Access les pondrá un nombre semejante a Texto2 y Texto2. Vamos a
cambiar esos nombres.
Abrimos la hoja de propiedades, les recuerdo Ficha Diseño > Cinta Herramientas, ó
pulsando las teclas [Alt] + [Enter].
En la ficha [Otras] ponemos el cursor en la primera propiedad, que “casualmente” es la
propiedad Nombre. Ahí es donde, pulsando en los correspondientes cuadros de texto,
vamos a cambiar su nombre.
Les ponemos, al primer Cuadro de texto el nombre de txtSumando_1, y al segundo
txtSumando_2.
Ahora le vamos a poner un botón, cambiando su nombre , algo así como Comando5,
por cmdSumar, y su título ó texto del botón, por Sumar.
Al programar es muy importante que los objetos, variables, constantes, procedimientos,
etc. tengan nombres con cierto sentido.

168 SENATI-Computación e Informática


ic ón con VBA

Si no fuese así, si más adelante tuvieras que revisar tu código, o si lo tuviese que hacer
otra persona, tendríais que invertir una gran cantidad de tiempo en averiguar qué es y
qué hace cada cosa en el código.
Más adelante hablaremos sobre normalización de código, pero fíjate que el nombre de
los cuadros de texto está precedido por las letras txt y el del botón por cmd.
Así si en un pedazo de código veo una palabra que empieza por cmd sé que se refiere a
un botón, y si empieza por txt sé que se refiere a un cuadro de texto.
Otro ejemplo: Los nombres de las etiquetas los suelo empezar por lbl. Estas son
convenciones de normalización “más ó menos” estándares.
A partir de este momento las iré aplicando al código y veréis como su uso se irá
convirtiendo en algo cada vez más natural.
A lo que íbamos.
Tenemos en un formulario los siguientes elementos:
txtSumando_1 Cuadro de texto
txtSumando_2 Cuadro de texto
cmdSumar Botón de comando
Probablemente al poner los cuadros de texto se nos hayan colocado dos etiquetas. D e
momento no vamos a cambiar su nombre, pero les vamos a poner como Título
Operando 1 y Operando 2
Ahora vamos a poner una etiqueta nueva, con título Resultado, y de nombre
lblResultado. Más de uno se habrá dado cuenta que lbl viene de Label (etiqueta en
inglés), txt de Text y cmd de Command.
A esta etiqueta le vamos a poner un texto un poco más grande y como color de texto el
rojo. ¿Pero qué quieres que hagamos con todo esto?
Tan simple como tener un formulario en el que escribir dos números en la s
correspondientes casillas, y que al pulsar un botón nos muestre su suma.
¿Y cómo sabe Access cuando se ha pulsado el botón y qué es lo que tiene que hacer?
Para eso utilizaremos el Evento Clic del botón cmdSumar.
Ya he comentado que un Evento es un “mensaje” que manda Windows, cuando pasa
algo, que puede ser captado por Access y a su vez reenviado a Windows con un código
que se tiene que ejecutar.
Seleccionamos el botón, y en la
[Hoja de Propiedades] pulsamos en
la pestaña Eventos. Seleccionamos
el cuadro correspondiente a “Al
hacer clic” y pulsamos en el
pequeño botón con tres puntos que
nos aparece.( Debe estar
desactivado el botón Asistente para
Controles )

SENATI-Computación e Informática 169


Microsoft Office

A continuación veremos una pequeña pantalla que nos permite seleccionar entre
 Generador de expresiones
 Generador de macros
 Generador de código

Lógicamente seleccionamos Generador de código, y pulsamos [Aceptar] ó doble clic


en [Generador de código].
Inmediatamente se nos abre el editor de código con el siguiente código
Option Compare Database
Option Explicit
Private Sub cmdSumar_Click() End Sub
El cursor estará seguramente posicionado entre las dos líneas.
¿Qué es esto?
Es el procedimiento que captura el evento Clic del botón cmdSumar.
Ahora lo que quiero es que tras poner un valor en cada uno de los cuadros de texto, si
pulsamos el botón, nos muestre el resultado de la suma en la etiqueta lblResultado.
El contenido de un cuadro de texto lo maneja su propiedad Value, que se puede leer y
escribir.
El contenido de una etiqueta (su título) lo maneja su propiedad Caption, y también es
de lectura y Escritura.
Escribimos lo siguiente
Private Sub cmdSumar_Click()
Me.lblResultado.Caption = Me.txtSumando_1.Value + Me.txtSumando_2.Value
End Sub
Que traducido “al cristiano” quiere decir:
Cuando se presione sobre el botón cmdSumar (evento clic) pon como título de la
etiqueta lblResultado (propiedad caption) el resultado de sumar el contenido (propiedad
Value) del cuadro de texto txtSumando_1y del cuadro de texto txtSumando_2.
El control Cuadro de texto es un TextBox y la Etiqueta un control Label. Bueno,
grabamos el código y el formulario y lo abrimos.

170 SENATI-Computación e Informática


ic ón con VBA

Nos quedará algo así como

Si ahora introducimos, por ejemplo el valor 2 en el primer cuadro de texto, el valor 3 en


el segundo y presionamos el botón Sumar, nos llevamos una pequeña sorpresa:

¿Qué ha pasado?.
¿Por qué en vez de un 5 nos da 23? al fin y al cabo 2 más 3 son 5
Estas son algunas de las cosillas que desaniman a los principiantes…
No es que Access nos esté tomando el pelo. Recordemos que estamos hablando del
contenido de un [Cuadro de Texto], y que como tal todo lo que contiene lo interpreta
como texto.
Aunque hemos introducido un 2 para el control es como si introdujéramos el texto “2”.
Vamos a probar a introducir en el primer Cuadro de texto Pepe, y en el segundo
Gotera. Al presionar el botón nos da

Un par de párrafos más adelante veremos cómo solucionar este problema. Primero un
par de matizaciones sobre el código.
Tomemos el texto
Me.lblResultado.Caption
Vamos a desmenuzarlo.
Me representa el formulario al que pertenece el código.
Me.lblResultado
lblResultado representa a la etiqueta lblResultadodel formulario actual.
Me.lblResultado.Caption
Captionrepresenta a la propiedad Título de la etiqueta.

SENATI-Computación e Informática 171


Microsoft Office

La utilización de Me no es necesaria; pero facilita a la ayuda en línea el que te presente


las diferentes opciones a escribir.
Tomemos ahora el texto
Me.txtSumando_1.Value
Ya hemos visto que me representa al formulario.
Me.txtSumando_1
txtSumando_1 representa al cuadro de texto txtSumando_1
Me.txtSumando_1.Value
Value representa el contenido del cuadro de texto ó la propiedad Value. La propiedad
Value de los cuadros de texto tiene dos peculiaridades:
La primera es que es la propiedad por defecto del control.
Eso quiere decir, que si se escribe en el código el nombre del cuadro de texto, sin
especificar nada más, hará implícitamente referencia a la propiedad Value.
Por ello son equivalente es igual de válidos los siguientes códigos:
Me.lblResultado.Caption = Me.txtSumando_1.Value + Me.txtSumando_2.Value
lblResultado.Caption = txtSumando_1 + Me.txtSumando_2
He quitado las referencias al formulario Me y la propiedad Value. Cambiamos el código
anterior por éste:
Private Sub cmdSumar_Click()
lblResultado.Caption = txtSumando_1 + Me.txtSumando_2
End Sub
Ahora vamos a ejecutar el formulario, pero antes de presionar el botón de sumar
dejamos uno de los cuadros de texto sin nada escrito en él.
¡Un nuevo problema!...

172 SENATI-Computación e Informática


ic ón con VBA

Esto hace referencia a la segunda peculiaridad de los cuadros de texto:


Si el cuadro de texto contiene algún valor, nos devolverá un texto con ese valor, pero si no
contiene nada nos devolverá el valor Nulo (Null).
Para poder funcionar así, la propiedad Value del cuadro de texto tiene que ser del tipo
Variant. Sí ese tipo de dato capaz de tragarlo todo.
Un valor nulo no es cero, ni una cadena de texto vacía. Un valor nulo en realidad se
corresponde al resultado del código ASCII 0.
Como uno de los cuadros de texto tenía el valor Nulo (Null), VBA no puede sumarlo al
contenido del otro cuadro de texto. Podríamos decir que un nulo no se puede sumar con
nada.

¿Pero qué tenemos que hacer para poder sumar los datos?
Primero deberíamos convertir los valores contenidos en los cuadros de texto a valores
numéricos.
Para efectuar esa conversión existe una función de VBA llamada Val(Valor)
Si escribimos en la ventana inmediato la palabra Val, ponemos en ella el cursor y
presionamos [F1] nos aparece la ayuda de la función Val.
Con la siguiente información:
Devuelve los números contenidos en una cadena como un valor numérico del tipo
adecuado.
Sintaxis
Val(cadena)
El argumento obligatorio cadena es cualquier expresión de cadena válida.
Vamos a hacer pruebas en la ventana Inmediato.
Escribimos las sucesivas expresiones y presionamos [Enter]
Expresión Resultado impreso
? "2" + "3" 23
?2+3 5
? Val("2") + Val("3") 5
? Val("12.234") 12,234
? Val(" 23 Caballos") 23
? Val(“Pepe”) 0

Declaracion de Variables
Una variable es un elemento del código que apunta a una dirección de memoria en
donde se almacena un dato.
Haciendo referencia a la variable se puede devolver el dato al que apunta e incluso
modificarlo.

SENATI-Computación e Informática 173


Microsoft Office

Las constantes son similares a las variables, sólo que su contenido se le asigna en el
momento en el que se declaran, y después no es posible cambiarlo.
Hay tres temas que debemos considerar en una variable
El nombre de la variable
El tipo de dato al que apunta
El ámbito en el que es visible.

Construcción del nombre de una variable (o constante).


Nombre
El nombre de una variable está compuesto por caracteres ASCII. Para su construcción
hay que ceñirse a las siguientes reglas:
• No se pueden usar caracteres que tienen un uso especial en Access, como son
el Punto “.”, los paréntesis “(“ “)”, la barra vertical “|”, o los caracteres que se
pueden utilizar como operadores; entre ellos
+ - / * < >.
• Una variable debe empezar por una letra ó por el signo de subrayado
Estos nombres serían correctos, lo que no quiere decir que sean aconsejables.
A123456 _Pepe R2P2
• El nombre de una variable no puede tener espacios en blanco.
Por ejemplo no sería válido el nombre Apellidos Nombre.
En cambio sí sería válido Apellidos_Nombre ó ApellidosNombre.
• Una variable puede terminar con un carácter de declaración de tipo
%&!#@$
Estos caracteres sólo se pueden usar al final del nombre de la variable.
Nota: Estos caracteres también se pueden usar para declarar el tipo de dato
que devuelve una función.
Por ejemplo esta cabecera de función sería válida:
Public Function Nombre$()
Que sería equivalente a:
Public Function Nombre() As String
• No se puede usar como nombre de variable una palabra reservada de VBA.
Por ejemplo no se pueden usar String, integer, For, If como nombres de
variable.
• El nombre de una variable puede tener hasta 255 caracteres - aunque yo de ti no
lo intentaría forastero -.
• No se pueden declarar dos variables con el mismo nombre dentro del mismo
procedimiento o en la cabecera de un mismo módulo.

174 SENATI-Computación e Informática