Tema 10 exav automatización
-
Upload
vallejoangeles -
Category
Education
-
view
330 -
download
3
Transcript of Tema 10 exav automatización
Í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