tema 10 exav automatización

17

Upload: vallejoangeles

Post on 26-Jul-2015

328 views

Category:

Education


3 download

TRANSCRIPT

Índice

AUTOMATIZACIÓN ................................................................................................................................ 1

1. DEFINICIÓN DE MACRO .................................................................................................................... 1 2. MOSTRAR LA FICHA PROGRAMADOR EN LA CINTA DE OPCIONES ......................................................... 1 3. HABILITAR MACROS CON EL CENTRO DE CONFIANZA ......................................................................... 1 4. GRABAR UNA MACRO ....................................................................................................................... 3 5. EJECUTAR UNA MACRO .................................................................................................................... 6 6. GRABAR UNA MACRO CON REFERENCIAS RELATIVAS ......................................................................... 6 7. ASIGNAR UN BOTÓN A UNA MACRO ................................................................................................... 8 8. ELIMINAR/MODIFICAR MACRO ........................................................................................................ 11 9. EDITOR DE VISUAL BASIC .............................................................................................................. 12

9.1. Elementos de la ventana del Editor .................................................................................... 12 9.2. Procedimientos y funciones ................................................................................................ 12

Tema 10: Automatización

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

1

Automatización En este tema se describe cómo trabajar con la grabadora de macros y las bases del editor de

Visual Basic para automatizar tareas y definir funciones personalizadas.

1. Definición de macro

Una macro consiste en una serie de comandos y funciones que se almacenan en un módulo de

Visual Basic y que puede ejecutarse siempre que sea necesario ejecutar la tarea. Cada vez que

se grabe una macro, ésta se almacenará en un nuevo módulo adjunto a un libro. En definitiva es

un conjunto de instrucciones que sirven para automatizar procesos.

Puede crear macros con el Editor de Visual Basic y/o con la grabadora de macros. Esta última

permite crear la macro, grabando cada acción que realiza desde el momento que se pone en

funcionamiento. Con frecuencia se comienzan las macros con la grabadora y se complementan

con el Editor de Visual Basic.

Para que un libro pueda guardarse con macros debe emplear el formato .XLSM (Libro de Excel

habilitado con macros).

2. Mostrar la ficha Programador en la cinta de opciones

Para trabajar más cómodamente en automatización de Excel es conveniente visualizar la ficha

Programador en la cinta de opciones, pues contiene los comandos y herramientas que

emplearemos con frecuencia en este tema.

Para mostrar esta ficha utilice el botón de Office y haga clic en el botón Opciones de Excel

3. Habilitar macros con el Centro de confianza

Cuando se instala Excel, en su defecto, las macros están deshabilitadas, para evitar riesgos que

hagan peligrar la seguridad de su equipo, ya que hay virus que acompañan a algunos archivos

en forma de macros. Si desea trabajar con sus propias macros deberá habilitarlas del modo

siguiente: Utilice el botón de Office y pulse el botón Opciones de Excel

Tema 10: Automatización

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

2

Es más seguro que mantenga marcada la opción Deshabilitar todas las macros con notificación.

Marque la casilla Confiar en el acceso al modelo de objetos de proyecto de VBA

Tema 10: Automatización

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

3

Y que en el panel izquierdo seleccione Ubicaciones de confianza

Y en el cuadro de diálogo indique la carpeta donde guardará los trabajos con macros

4. Grabar una macro

Antes de grabar o escribir una macro, planifique los pasos y los comandos que desea que

ejecute la macro. La grabadora escribirá el código necesario al tiempo que el usuario actúa.

Utilice el comando Grabar macro de la ficha Programador

Tema 10: Automatización

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

4

En el cuadro Nombre de la macro, escriba un nombre que le ayude a identificar la tarea que

realizará la macro.

El primer carácter del nombre de la macro debe ser una letra. Los demás caracteres pueden ser

letras, números o caracteres de subrayado. No se permiten espacios en un nombre de macro;

puede utilizarse un carácter de subrayado como separador de palabras.

Debe tener cuidado si emplea la tecla de Método abreviado pues suplantará a cualquier tecla de

método abreviado predeterminada en Microsoft Excel mientras esté abierto el libro que contiene

la macro. Si no conoce las teclas predeterminadas de Excel no es aconsejable.

Dependiendo de lo que elija en el cuadro Guardar macro en, se guardará en un sitio diferente.

Debe evitar realizar tareas innecesarias que le obliguen a Deshacer, para que la posterior

ejecución de la macro no de errores.

Una vez que pulsa Aceptar, comienza la grabación de todas las acciones que lleve a cabo. Se

mostrará en la barra de estado el botón Detener grabación (no debe pulsarlo hasta finalizar la

grabación)

Durante la grabación de una macro seleccione las celdas con teclado, en lugar de emplear

el ratón. Para desplazarse por las celdas emplee el teclado, mejor que el ratón.

Si selecciona celdas mientras está grabando una macro, ésta graba referencias absolutas o

relativas dependiendo del estado del botón Usar referencias relativas en la ficha

Programador. Si está apagado son absolutas y si lo enciende son relativas.

Tema 10: Automatización

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

5

Durante la grabación puede alternar tantas veces como quiera el tipo de referencias a emplear.

En el siguiente ejemplo grabamos una macro en referencias absolutas, para que introduzca la

dirección completa de la empresa empleando tres celdas consecutivas.

Primero comprobamos que el botón Usar referencias relativas esté apagado. Situamos el cursor

en la celda A1 y empleamos el comando Grabar macro

Escribimos el nombre para la macro, que guardaremos en este libro y hacemos clic en Aceptar.

Después seleccionamos con el teclado las dos celdas siguientes (Mayus + flecha hacia abajo)

Escribimos el nombre de la empresa y pulsamos INTRO, escribimos la calle y número y

pulsamos INTRO y por último en la última celda anotamos el código postal y la ciudad.

Para finalizar pulsamos el botón Detener grabación de la ficha Programador o el de la barra de

estado.

Antes de ejecutar la macro borramos el contenido de esas celdas que va a escribir la macro.

Tema 10: Automatización

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

6

5. Ejecutar una macro

Para ejecutar una macro guardada en el libro, debe estar abierto el libro.

Para probar que la grabación de referencias fue absoluta en la macro creada en el punto

anterior, antes de ejecutarla situamos el cursor en una celda diferente, B5, y empleamos el

comando Macros de la ficha Programador.

El resultado es que emplea las mismas celdas que habíamos seleccionado A1:A3 para escribir la

dirección de la empresa

6. Grabar una macro con referencias relativas

Vamos a crear una macro que escriba la dirección de la empresa en tres celdas consecutivas,

pero no en una posición fija, como en el caso de referencias absolutas, sino a partir de la celda

donde se encuentre el cursor.

Primero comprobamos que el botón Usar referencias relativas esté encendido. Situamos el

cursor en la celda A1 y empleamos el comando Grabar macro

Tema 10: Automatización

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

7

Escribimos el nombre para la macro, que guardaremos en este libro y hacemos clic en Aceptar.

Después seleccionamos con el teclado las dos celdas siguientes (Mayus + flecha hacia abajo)

Escribimos el nombre de la empresa y pulsamos INTRO, escribimos la calle y número y

pulsamos INTRO y por último en la última celda anotamos el código postal y la ciudad.

Para finalizar pulsamos el botón Detener grabación de la ficha Programador o el de la barra de

estado.

Antes de ejecutar la macro borramos el contenido de esas celdas que va a escribir la macro.

Para probar que la grabación de referencias fue relativa, antes de ejecutarla situamos el cursor

en una celda diferente, B5, y empleamos el comando Macros de la ficha Programador.

Tema 10: Automatización

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

8

La macro ha ejecutado sus tareas a partir de la celda en la que estaba el cursor:

7. Asignar un botón a una macro

Para asignar un botón a una macro personalice la barra de herramientas de acceso rápido del

modo siguiente:

Tema 10: Automatización

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

9

Tema 10: Automatización

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

10

En el cuadro de diálogo que muestra seleccione el icono y haga clic en Aceptar en cada uno de

los cuadros de diálogo

El resultado será el siguiente:

Tema 10: Automatización

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

11

8. Eliminar/Modificar macro

Para eliminar o modificar una macro utilice el comando Macros de la ficha Programador

Si elige Eliminar desaparace la macro y el código asociado a ella.

Si hace clic en el botón Modificar le llevará al Editor de Visual Basic a modificarla.

No es posible encender la grabadora de macros para modificar, por lo que deberá tener

conocimientos de este lenguaje de programación para realizar modificaciones desde ese Editor.

Para salir del Editor y volver a la hoja de cálculo cierre la ventana.

Tema 10: Automatización

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

12

9. Editor de Visual Basic

Al Editor de Visual Basic puede acceder desde el botón Modificar del cuadro de diálogo Macros

o con el comando Visual Basic de la ficha Programador

9.1. Elementos de la ventana del Editor

El explorador de proyecto: Muestra una lista jerárquica de los proyectos y de los elementos que

contiene cada proyecto: Hojas de cálculo, módulos (código de cada una de las macros, …)

Ventana de código, donde muestra el código correspondiente a una macro,…

9.2. Procedimientos y funciones En los módulos se guarda el código correspondiente a la macro creada con la grabadora de

macros y también el que puede definir el usuario desde el editor. Generalmente se crean dos

tipos de elementos:

Procedimiento, es una secuencia de tareas automatizadas. Un ejemplo de procedimiento es la

macro grabada anteriormente. Todos los procedimientos tienen la siguiente forma:

SUB nombre del procedimiento

Código…

END SUB

Tema 10: Automatización

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

13

Función, código encaminado a devolver un valor y que se emplea posteriormente para

realizar algún cálculo personalizado.

Desde el Editor puede crear alguna función personalizada que podrá emplear en ese libro.

Las funciones en su escritura precisan de un número de argumentos que el usuario aporta

junto al nombre de la función al emplearlas en la hoja de cálculo.

Cuando se diseñan funciones su estructura es la siguiente:

Function Nombre de función (lista_argumentos definiendo)

Código…

End Function

En la lista de argumentos se especifica el tipo de datos de cada argumento.

Las funciones personalizadas sólo se pueden definir desde la ventana de código del Editor de

Visual Basic

A continuación se muestra un ejemplo que devuelve la letra del NIF conociendo el número del

DNI y el algoritmo conocido de la letra que le corresponde al resto de dividir el DNI por 23

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

T R W A G M Y F P D X B N J Z S Q V H L C K E

El ejemplo es totalmente guiado porque requiere conocer cómo definir variables, uso de

operadores matemáticos y funciones de cálculo … que no son iguales a los del cálculo

habitual.

La escritura se realiza por debajo del código de una de las macros.

Tema 10: Automatización

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

14

Una vez construida guarde los cambios con el botón Guardar y cierre la ventana del Editor

Ya en la hoja pruebe la función definida en el mismo libro donde tiene guardado el código.

Escriba un DNI en la celda A1 y sitúe el cursor en la celda B1 para calcular la letra del NIF

Haga clic en el asistente de funciones y seleccione la categoría Definidas por el usuario

Tema 10: Automatización

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

15

Haga clic en la función con el nombre Letra_nif y Acepte