excel avanzado

55
Oficina de Seleción y Promoción - Capacitación - Cursos de Sistemas MACROS OBJETIVOS Definiciones Automatizar tareas a través del uso de las macros. Grabar Ejecutar Manipular macros. Tipos de Macros en Excel Introducción Las operaciones tradicionales que se pueden realizar en Excel para Windows las podemos automatizar, de manera que se mantenga un registro que las contenga y posteriormente hacer referencia a ellas para la simplificación de tareas. Excel es un programa muy potente, pero la mayoría de las personas lo maneja de una forma muy básica, Excel cuenta con un lenguaje de programación llamado Visual Basic, y permite hacer o resolver los problemas de forma más rapida y sencilla, este curso es de un nivel alto, pero es fácil de aprender ya que se manejaran términos sencillos. Una Macro son una serie de pasos que se almacenan y se pueden activar con alguna tecla de control y una letra, un boton o manualmente. Por ejemplo, si repetidamente se emplea una serie de pasos como: Cambiar el Tamaño de Fuente o Tamaño de la letra,

Upload: guadalupecatucor

Post on 29-Nov-2015

40 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Excel Avanzado

 

Oficina de Seleción y Promoción - Capacitación - Cursos de Sistemas

MACROS

OBJETIVOS

Definiciones Automatizar tareas a través del uso de las macros. Grabar Ejecutar Manipular macros. Tipos de Macros en Excel

Introducción

Las operaciones tradicionales que se pueden realizar en Excel para Windows las podemos automatizar, de manera que se mantenga un registro que las contenga y posteriormente hacer referencia a ellas para la simplificación de tareas.

Excel es un programa muy potente, pero la mayoría de las personas lo maneja de una forma muy básica, Excel cuenta con un lenguaje de programación llamado Visual Basic, y permite hacer o resolver los problemas de forma más rapida y sencilla, este curso es de un nivel alto, pero es fácil de aprender ya que se manejaran términos sencillos.

Una Macro son una serie de pasos que se almacenan y se pueden activar con alguna tecla de control y una letra, un boton o manualmente.

Por ejemplo, si repetidamente se emplea una serie de pasos como: Cambiar el Tamaño de Fuente o Tamaño de la letra, poner Negrita, cambiar la Fuente o Tipo de letra  y el Color de Fuente o Color de Letra, para no estar repitiendo estos pasos se pueden almacenar en una macro y se ejecutara la macro las veces que se desee.

En resumen una macro consiste en una serie de comandos y funciones que se almacenan en un módulo de Microsoft Visual Basic y que puede ejecutarse siempre que sea necesario realizar la tarea.

Page 2: Excel Avanzado

Para esto Excel para Windows cuenta con dos herramientas básicas: las macros y los módulos. En esta sección se revisarán las macros.

Para explicar lo que es una macro, vamos a hacer una analogía entre un micrófono y una cinta con la computadora y la grabadora de macros.

La grabadora de macros funciona de manera similar a una grabadora de cintas. Una graba lo que la persona dice, otra graba lo que el usuario hace.

Grabar Macro

Antes de grabar o escribir una macro hay que tener en cuenta los siguientes puntos:

1. Planifique los pasos y los comandos que desea que ejecute la macro 2. Si se comete algún error mientras se graba la macro, también se

grabarán las correcciones que se realicen. 3. Cada vez que se grabe una macro, ésta se almacenará en un nuevo

módulo adjunto a un libro.

Al grabar una macro, Excel almacena información sobre cada paso dado cuando se ejecuta una serie de comandos. A continuación, se ejecuta la macro para que repita los comandos. Si se comete algún error mientras se graba la macro, también se graban las correcciones que se realicen.  Visual Basic almacena cada macro en un nuevo módulo adjunto a un libro.

Para grabar una macro seleccione del menú Herramientas el comando Grabar macro y después del submenú Grabar nueva macro.

Page 3: Excel Avanzado

Al hacerlo aparece la siguiente caja de diálogo:

Se debe asignar un Nombre de la macro junto con una Descripción, aunque Excel para Windows siempre asigna estos predeterminados.

Almacenar en son los posibles lugares donde se puede alojar la macro que se está grabando, ya sea en Este libro, en un Nuevo libro o en el Libro de macros personal.

En la opción Método Abreviado aparece que se activara con la tecla Control(CTRL) + la letra que usted indique, Ejemplo m

Page 4: Excel Avanzado

. La macro se activara cuando este lista con la tecla Control + m

Al presionar Aceptar la grabación se inicia. En este momento, todas las acciones que realice se estarán registrando por Excel para Windows. Para finalizar la grabación seleccione del menú Herramientas el comando Grabar macro y después del submenú Finalizar grabación, o presione el botón

que aparece al estarse grabando una macro.

Referencias relativas

Las macros se pueden grabar ya sea con referencias absolutas o relativas. Para indicarlo, seleccione del menú Herramientas el comando Grabar macro y después del submenú Usar referencias relativas .

A menos que esta opción esté desactivada, la Grabadora de macros usará referencias relativas, no absolutas, para las celdas de una hoja de cálculo.

Boton de finalizar Grabación  Boton de Referencias Relativas  

Ejecutar una macro

Para entender la forma de ejecutar una macro podemos utilizar otra vez la analogía con la grabadora. Las voz que se reproduce en la grabadora se escucha en la bocina, y de la misma forma, la macro que se reproduce en la grabadora se ejecuta en Excel para Windows.

Page 5: Excel Avanzado

La ejecución de la macro se puede hacer de distintas formas. Si tiene asignado una combinación de teclas de método abreviado con éstas se puede iniciar la ejecución.

Se puede ejecutar una macro seleccionándola de una lista en el cuadro de diálogo Macro. Para que una macro se ejecute cada vez que haga clic en un botón determinado o presione una combinación de teclas específica, asigne la macro a un botón de la barra de herramientas, a un método abreviado de teclado o a un objeto gráfico de una hoja de cálculo.

Otra forma de ejecutar una macro es utilizando del menú Herramientas el comando Macro.

Al seleccionar esta opción aparece la siguiente caja de diálogo:

De las macros listadas, se selecciona la deseada y se presiona Ejecutar. También se puede ejecutar Paso a paso para revisar los procedimientos que va realizando.

Además de estas opciones, se tienen otras más que se revisarán más adelante.

Manipulación de Macros

Tras grabar una macro, se puede ver el código de macro con el Editor de Visual Basic para corregir errores o modificar lo que hace la macro. Por ejemplo, si la macro de ajuste de texto también tiene que aplicar el formato de negrita al texto, se puede grabar otra macro para aplicar el formato de negrita a una celda y, a continuación, copiar las instrucciones de esa macro a la macro de ajuste de texto.

Page 6: Excel Avanzado

El Editor de Visual Basic es un programa diseñado para que los usuarios principiantes puedan escribir y editar fácilmente código de macro, y proporciona mucha Ayuda en pantalla. No es preciso saber cómo se programa o se utiliza el lenguaje de Visual Basic para realizar cambios sencillos en las macros. El Editor de Visual Basic permite modificar macros, copiarlas de un módulo a otro, copiarlas entre diferentes libros, cambiar el nombre de los módulos que almacenan las macros o cambiar el nombre de las macros.

Con el comando Macro del menú Herramientas, la misma que se vio en el tema anterior, podemos realizar varias acciones más.

Editar abre la macro o el módulo de Visual Basic para poder realizar ediciones del código que se generó. Si se grabó en el Libro de macros personal se tiene que utilizar el comando Mostrar del menú Ventana para aparecer el libro "Personal" que está oculto.

También podemos Eliminar la macro o el procedimiento seleccionado. Con las Opciones se muestra la siguiente caja de diálogo:

Estas opciones son las mismas que se especificaron cuando se grabó la macro.

Seguridad de macros

Excel incluye protecciones contra virus susceptibles de ser transmitidos por macros. Si se comparten macros con otros usuarios, se puede certificar esas macros con una firma digital de modo que los demás usuarios pueden comprobar que proceden de una fuente fidedigna. Al abrir un libro que contiene macros, se puede comprobar su origen antes de habilitarlas.  

Tipos de Macros

Macros automáticas

Page 7: Excel Avanzado

Existen varias macros previamente creadas para Excel para Windows. Están disponibles en el menú Herramientas opción Complementos. Al seleccionar esta opción aparece la siguiente caja de diálogo:

Con esta opción se especifican las macros que están disponibles y listas para usarse al iniciarse Excel para Windows. Se pueden instalar o eliminar las macros automáticas que vienen con Excel para Windows, o las que se hayan creado.

Aquí se muestran las Macros automáticas disponibles. Pueden seleccionarse o borrarse las casillas de verificación de las macros automáticas a fin de instalar o eliminar las mismas en Excel para Windows. Con el botón Examinar se muestra una caja de diálogo similar a la de Abrir archivo donde puede seleccionarse una macro automática para ser instalada en Excel para Windows.

Además de la macros grabadas se pueden crear códigos completos de macro instrucciones que son una serie de instrucciones que permiten automatizar procesos Sencillos, Avanzados y/o Complejos. Otra utilidad de este tipo de macros es que permite, ajustar una macro (como las que se crearon en la sección anterior) a las necesidades del trabajo que se necesite realizar. Haciendo el trabajo de 5 a 8 veces más rápido el trabajo cotidiano e inclusive en algunas ocasiones más rápido.

Algunos ejemplos de lo que podemos hacer con las macros son:

Procesos de captura de información. Procesos de impresión. De análisis de datos.

Page 8: Excel Avanzado

De manejo de base de datos. Elaboración de reportes. Simplificación de tareas. Tareas que son repetitivas, que hay que realizar varias veces el mismo

procedimiento. Un sistema de información. Sistemas administrativos.

Están disponibles en el menú Herramientas opción Asistente.

Macros de Excel

Las macros se puede agrupar en dos categorías principalmente:

Macros de funciones

Macros de comandos  

Macros de funciones

Si ejecuta frecuentemente una tarea en Microsoft Excel, puede automatizarla mediante una 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. Una macro se graba igual que se graba música en un casete. A continuación, se ejecuta la macro para que repita los comandos.

Con el Editor de Visual Basic, se pueden modificar macros, copiar macros de un módulo en otro, copiar macros entre diferentes libros, cambiar de nombre a los módulos que almacenan las macros o cambiar de nombre a las macros.

Macros de comandos

La creación de estas macro funciones consiste en poner una serie de ARGUMENTOS, en las cuales podemos ir poniendo los datos que lleva una función normal de Excel para Windows y al final le indicamos que operaciones hacer con estos ARGUMENTOS y de esta manera se optimiza el uso de varias fórmulas para llegar a un resultado. Es decir la creación de una función simplifica el uso de varias fórmulas, dejándolas como una sola.

Dentro de la codificación de macros de Excel para Windows se tiene dos grupos de códigos.

Visual Basic

Macros de Excel

Page 9: Excel Avanzado

Macros desde Visual Basic

Es un lenguaje (Codificación), que se puede utilizar, como lenguaje común entre los diferentes programas que se tiene en el Microsoft Office, cabe mencionar que esta basado en un Lenguaje llamado Visual Basic, pero no tiene mucho que ver con él.

La macros de Visual Basic están basadas en módulos, que por tal hecho se vuelven más complicadas, teniendo como ventaja que son compatibles dentro de varias aplicaciones, de esta manera se tendría un lenguaje común de macros entre varios programas, con lo cual se logra que se pierda menos tiempo en realizar una macro en alguno de estos programas. Por esta razón es que las macros de Visual Basic es visto en un curso en particular.  

Ejercicios

Cree las siguientes macros:

1. Macro "archivo" que se active con Control + a y que permita abrir un archivo

2. Macro "seleccion" que seleccione las celdas A1:B10 de la primer hoja del libro abierto

3. Macro "letra" que ponga letra tipo arial

Page 10: Excel Avanzado

4. Macro "color" que ponga letra de color Azul 5. Macro "tamaño" que ponga letra de tamaño 14 6. Macro "Todo" que una las macros anteriores

 

Oficina de Seleción y Promoción - Capacitación - Cursos de Sistemas

Botones, Funciones y Códigos de una Macro

OBJETIVOS  

Botones para ejecutar macros Controles y macros Códigos de una macro Funciones para automatizar tareas Ejercicios

 

 

Botones para ejecutar macros

La ejecución de la macro se puede hacer de distintas formas. Si tiene asignado una combinación de teclas de método abreviado con éstas se puede iniciar la ejecución.

También se puede asignar a un botón de la barra de herramientas. Cuando se personaliza una barra de herramientas y se incluye en ella algún botón de la categoría personalizadas.

Agregar un botón a una barra de herramientas

Page 11: Excel Avanzado

Asegúrese de que está visible la barra de herramientas, para mostrar una barra de herramientas, utilice el cuadro de diálogo Personalizar elija Barras de herramientas en el menú Ver y haga clic en Personalizar.

Para ver más botones, haga clic en Modificar selección y en Cambiar imagen del botón  en el menú de Personalizar.

Page 12: Excel Avanzado

Al incluir el botón en cualquier barra de herramientas, se genera el boton de Modificar Selección al desplegarlo exixte la opcion asignar macro en una caja de diálogo como la que se muestra a continuación:

Aquí aparecen listadas las macros que contiene ese libro o el libro personal de macros para que se asigne al botón. Además, permite Grabar una nueva macro y Editar una ya existente.  

Page 13: Excel Avanzado

Animación Macro con Botón

Agregar un control de la barra de herramientas Formularios

Existen diferentes tipos de controles que permiten ejecutar macros.

Muestre la barra de herramientas Formularios: seleccione Barras de herramientas en el menú Ver y haga clic en Formularios.

Estos son los controles existentes en Excel:

Label   Texto que proporciona información sobre un control, de la hoja de cálculo o de un formulario.

Cuadro de edición   No está disponible en los libros de Microsoft Excel. Este control se proporciona para que pueda trabajar con las hojas de diálogo de Excel.

Cuadro de grupo   Agrupa los controles relacionados, como los botones de opción o las casillas de verificación.

Botón   Ejecuta una macro cuando se hace clic en él.

Casilla de verificación   Activa o desactiva una opción. Puede activarse más de una casilla de verificación a la vez en una hoja o en un grupo.

Botón de opción   Selecciona una de las opciones de un grupo contenido en un cuadro de grupo. Utilice los botones de opción para permitir solamente una de varias posibilidades.

Cuadro de lista   Muestra una lista de elementos.

Cuadro combinado  Un cuadro de lista desplegable. El elemento que se seleccione en el cuadro de lista aparecerá en el cuadro de texto.

Crear cuadro combinado de lista   No está disponible en los libros de Excel. Este control se proporciona para que pueda trabajar con las hojas de diálogo de Excel.

Page 14: Excel Avanzado

Crear cuadro combinado desplegable   No está disponible en los libros de Excel. Este control se proporciona para que pueda trabajar con las hojas de diálogo de Excel.

Barra de desplazamiento   Sirve para desplazarse a través de un rango de valores cuando se hace clic en las flechas de desplazamiento o cuando se arrastra un cuadro de desplazamiento. Puede desplazarse por una página de valores haciendo clic entre el cuadro de desplazamiento y una flecha de desplazamiento.

Control de giro   Aumenta o disminuye un valor. Para aumentar el valor, haga clic en la flecha arriba; para disminuir el valor, haga clic en la flecha abajo.

 

Si desea que el control ejecute una macro existente, abra el libro que contiene la macro.

Haga clic en la hoja de cálculo donde desee agregar el control. Muestre la barra de herramientas Formularios: seleccione Barras de herramientas en el menú Ver y haga clic en Formularios. Haga clic en el botón del control que desee agregar. En la hoja de cálculo, arrastre el control hasta que tenga el tamaño que desee.

Asignar una macro existente

Si agrega un botón, seleccione la macro que debe ejecutar el botón en el cuadro Nombre de la macro.

Page 15: Excel Avanzado

Si agrega un control que no sea un botón, haga clic con el botón secundario en el control y, a continuación, elija Asignar macro en el menú contextual. Seleccione la macro que desee.  

Grabar o escribir una nueva macro

Si la macro no existe, haga clic en Grabar en el cuadro de diálogo Asignar macro para grabar una nueva macro o haga clic en Nueva para abrir un módulo Visual Basic para Aplicaciones (VBA) de Microsoft en el que puede escribir la macro.

Haga clic con el botón secundario en el control, elija Modificar texto y agregue el texto para el control.  Cuando haya terminado, haga clic con el botón secundario en el control  y, a continuación, haga clic en Salir de Modificar texto.

Establezca las propiedades del control.  

Códigos de una macro

Para observar los códigos de una macro debemos de seguir los siguientes pasos y crear una:

A. Trasládese a la celda A3 antes de empezar la grabación de la Macro B. Presione el Botón Grabar Nueva Macro del menú Macro en HerramientasC. En la opción Método Abreviado escriba la letra k. D. Presione el botón Aceptar. Excel inicia la grabación del la Macro1 E. Trasládese a  la celda A1 y escriba MACROS. F. Después del Enter pare la grabación de la macro con el botón Detener Grabación.

Excel a grabado los pasos y a generado un código, para visualizarlo realice las siguientes operaciones:

G. Presione la tecla Alt + la tecla de función F11(Alt + F11). Excel nos lleva al Editor de Visual Basic o también puede entrar al Editor de Visual Basic desde el Menú Herramientas, Macro y Editor de Visual Basic.

Page 16: Excel Avanzado

H. Active los siguientes cuadros o ventanas normalmente estan activos:

• De clic en el Menú Ver y elija la opción Explorador de Proyectos

• De clic en el Menú ver y elija la opción Ventana Propiedades

Page 17: Excel Avanzado

I. Del cuadro Proyecto de doble clic en Módulos o simplemente presione el signo de + que aparece en la opción Módulos. Se activara debajo de Módulos la Opción Modulo1 J. Con doble clic en Modulo1 se mostrara en el Editor de Visual Basic el código de la macro que grabamos anteriormente asi:

 

• Sub y End Sub indican el inicio y el final del procedimiento de la Macro1 • ´ Todo lo que aparece con un apostrofe ´ son comentarios y ese texto debe de aparecer de color verde y no ejecuta nada en la macro. • Range("A1").Select  La orden Range nos permite trasladarnos a una celda en este caso A1

Page 18: Excel Avanzado

• ActiveCell.FormulaR1C1 = "MACROS" Esto indica que se escribirá en la celda en que se encuentra el texto MACROS. Todo lo que esta entre comillas siempre será un valor de texto. La orden ActiveCell.FormulaR1C1 nos permite escribir un valor en la celda activa. • Range("A2").Select Otra vez indicamos que se traslade a la celda A2. Esto se debe a que cuando se escribe el texto MACROS en A1 presionamos Enter y el indicador de celda bajo a la celda A2.

Observemos el siguiente código

Puede ejecutar la macro desde el editor de Visual Basic con el boton de ejecución de macros en la barra de herramientas

Page 19: Excel Avanzado

Automáticamente se plasman los resultados en la hoja de Excel, también puede ejecutarla con control + k o en el menú de Macros, Ejecutar y el menú de Herramientas.

Page 20: Excel Avanzado

 

Funciones utiles para automatizar tareas

Códigos típicos para las macros se pueden resumir en:

Código Acción

Range("A1").SelectTrasladarse a una Celda

Activecell.FormulaR1C1="MACROS"Escribir en una Celda

Selection.Font.Bold = TrueLetra Negrita o Negrilla

Selection.Font.Italic = True Letra Cursiva

Selection.Font.Underline = xlUnderlineStyleSingle

Letra Subrayada

With Selection.Font         .Name = "Arial" End With

Tipo de Letra(Fuente)

With Selection.Font         .Size = 15 End With

Tamaño de Letra(Tamaño de Fuente)

Selection.Copy Copiar

Page 21: Excel Avanzado

Selection.Cut Cortar

ActiveSheet.Paste Pegar

MsgBox "Curso de Macros"

Sale una ventana con un mensaje en pantalla

With Selection         .HorizontalAlignment = xlCenter End With

Centrar Texto

With Selection         .HorizontalAlignment = xlLeft End With

Alinear a la izquierda

With Selection         .HorizontalAlignment = xlRight End With

Alinear a la Derecha

Selection.EntireRow.Insert Insertar Fila

Selection.EntireRow.Delete Eliminar Fila

Selection.EntireColumn.InsertInsertar Columna

Selection.EntireColumn.DeleteEliminar Columna

Workbooks.Open Filename:="C:\Temp\prueba.xls"

Abrir un Libro

ActiveWorkbook.SaveAs Filename:="C:\Temp\prueba.xls", FileFormat _        :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _False, CreateBackup:=False

Grabar un Libro

Ejercicios  

1. Cree una hoja en la que existen diferentes botones de opción y cada uno de ellos tiene diferentes valores de descuentos asi:el domingo es del 5%el lunes del 10% el resto de semana no hay descuentoSe aplica a una lista de productos, y que de acuerdo a la selección del botón de opción se muestra el descuento en la hoja de calculo y las respectivas operaciones en ella, como muestra el ejemplo:

Page 22: Excel Avanzado

2. Cree una barra de herramientas propia con 5 macros que ejecuten las siguientes tareas:

o Un botón que permita poner en Negrita la selección actual de celdas

o Un botón que centre el contenido de las celdas seleccionadas o Un botón que elimine la columna selecionada y emita un mensaje

informando de la acción o Un botón que copie el contenido de las celdas o celda

seleccionada o Un botón que pegue el contenido de las celdas o celda copiadas

 

 

 

Oficina de Seleción y Promoción - Capacitación - Cursos de Sistemas

Formularios y Controles en Visual Basic para Excel

OBJETIVOS  

Crear Formularios Insertar Controles Editar algunas Propiedades Programación de Formularios

Page 23: Excel Avanzado

Crear Formulas en los Formularios Ejercicios

 

Crear Formularios

Un formulario es una ventana independiente que se crea con controles y esos controles responden a comandos que se programan con Visual Basic.

Para crear un formulario en Excel Abra un libro de trabajo en blanco, luego presione La Teclas Alt + F11, para entrar al editor de Visual Basic o de clic en Herramientas, Macro y Editor de Visual Basic.

Del Menú Insertar elija la Opción UserForm. Esto inserta el Formulario que se programara con controles.

En el Explorador de Proyecto se observara que se inserto el UserForm.

Utilice la ventana Propiedades para cambiar el nombre, comportamiento y aspecto del formulario. Por ejemplo, para cambiar el título de un formulario, establezca la propiedad Caption.

Cada ventana de formulario UserForm tiene un botón Maximizar, Minimizar y Cerrar.

Page 24: Excel Avanzado

Puede ver la cuadrícula del formulario UserForm y determinar el tamaño de las líneas de cuadrícula en la ficha General del cuadro de diálogo Opciones.

Puede utilizar los botones del cuadro de herramientas para dibujar controles en el formulario UserForm. Puede establecer controles para alinearlos con la cuadrícula del formulario UserForm en la ficha General del cuadro de diálogo Opciones.

También cuando de clic en el Formulario UserForm1 se debe de activar el Cuadro de Herramientas, si no se activa de clic en el Menú Ver y elija la opción Cuadro de Herramientas.

El Cuadro de Herramientas muestra los controles estándar de Visual Basic junto con los controles ActiveX y los objetos que se pueden insertar que se han agregado al proyecto.

Insertar Controles

Para agregar controles a un formulario UserForm, busque el control que desea agregar en la Caja de herramientas, arrástrelo al formulario y, a continuación, arrastre el controlador de ajuste del control hasta que el contorno tenga el tamaño y forma deseados.

Una vez agregados los controles al formulario, utilice los comandos del menú Formato, en el Editor de Visual Basic, para ajustar la alineación y espaciado del control.

Controles del cuadro de herramientas estándar

Seleccionar objetos

Page 25: Excel Avanzado

Seleccionar objetos es el único elemento del cuadro de elementos que no dibuja un control. Cuando se selecciona, sólo puede cambiar el tamaño o mover un control que ya se haya dibujado en un formulario.

Etiqueta

Permite tener texto que no desee que cambie el usuario, como el título debajo de un gráfico.

Cuadro de texto

Contiene texto que el usuario puede introducir o cambiar.

Cuadro combinado

Permite dibujar un cuadro de lista combinado y un cuadro de texto. El usuario puede elegir un elemento de la lista o introducir un valor en el cuadro de texto.

Cuadro de lista

Se utiliza para mostrar una lista de elementos entre los que puede elegir el usuario. Puede desplazarse por la lista si ésta contiene más elementos de los que se pueden ver en un determinado momento.

Casilla de verificación

Crea una casilla que el usuario puede elegir fácilmente para indicar si algo es verdadero o falso o para mostrar varias elecciones cuando el usuario puede elegir más de una.

Botón de opción

Permite mostrar varias elecciones entre las que el usuario sólo puede elegir una.

Botón de alternar

Crea un botón que alterna entre activado y desactivado.

Marco

Permite crear una agrupación gráfica o funcional de controles. Para agrupar los controles, dibuje primero el marco y después los controles dentro del marco.

Page 26: Excel Avanzado

Botón de comando

Crea un botón que el usuario puede elegir para realizar la acción de un comando.

Barra de tabulaciones

Permite definir múltiples páginas para la misma área de una ventana o cuadro de diálogo de la aplicación.

Página múltiple

Presenta múltiples pantallas de información como un solo conjunto.

Barra de desplazamiento

Proporciona una herramienta gráfica para desplazarse rápidamente por una larga lista de elementos o una gran cantidad de información, para indicar la posición actual en una escala o como un dispositivo de entrada o indicador de velocidad o cantidad.

Botón de número

Un control de giro que se puede utilizar con otro control para aumentar o reducir los números. También lo puede utilizar para desplazarse hacia delante o detrás de un intervalo de valores o una lista de elementos.

Imagen

Muestra una imagen gráfica de un mapa de bits, icono o metaarchivo en el formulario. Las imágenes mostradas en un control Imagen sólo pueden ser decorativas.

Editar algunas Propiedades

Las propiedades se pueden editan desde el cuadro de propiedades o desde el Editor de Visual Basic mientras escribe la programación de los controles.

Desde el cuadro de propiedades existen dos formas de buscar las propiedades de un objeto, de forma Alfabética y por Categorías.    

Page 27: Excel Avanzado

Algunas de las propiedades más importantes son:

Propiedad Caption

Texto descriptivo que identifica o describe a un objeto.

Sintaxis: objeto.Caption [= String]

Ejemplo: Label1.Caption = "Macros"

Comentarios

El texto identifica o describe el objeto con el que está asociado. Para los botones y etiquetas, la propiedad Caption especifica el texto que aparece en el control. Para los objetos Page y Tab, especifica el texto que aparece en la ficha.

Si un título de un control es demasiado largo, se trunca. Si el título de un formulario es demasiado largo para la barra de título, el título se muestra con puntos suspensivos.

La propiedad ForeColor del control determina el color del texto en el título.

Propiedad ForeColor

Especifica el color de primer plano de un objeto.

Sintaxis: objeto.ForeColor [= Long]

Page 28: Excel Avanzado

Ejemplo: Label1.ForeColor = RGB(255, 255, 0)

Comentarios

Utilice la propiedad ForeColor para controles de formularios con el fin de hacerlos más fáciles de leer o para transmitir un significado especial. Por ejemplo, si un cuadro de texto informa del número de unidades en almacén, puede cambiar el color del texto cuando el valor caiga por debajo del nivel de nuevo pedido.

Propiedad BackColor

Especifica el color de segundo plano del objeto.

Sintaxis: objeto.BackColor [= Long]

Ejemplo: Label1.BackColor = RGB(255, 0, 0)

Comentarios

Sólo puede ver el color de fondo de un objeto si la propiedad BackStyle se establece a fmBackStyleOpaque.

Propiedad BackStyle

Devuelve o establece el estilo de fondo para un objeto.

Sintaxis: objeto.BackStyle [= fmBackStyle] Ejemplo: Label1.BackStyle = 0

Comentarios

La propiedad BackStyle determina si un control es transparente. Si la propiedad BackStyle es fmBackStyleOpaque o 1, el control no es transparente y no puede ver nada que haya detrás del control en un formulario. Si la propiedad BackStyle es fmBackStyleTransparent o 0, puede ver a través del control y observar cualquier elemento que haya detrás del mismo en el formulario.

Propiedad BorderStyle

Especifica el tipo de borde utilizado por un control o un formulario.

Sintaxis: objeto.BorderStyle [= fmBorderStyle] Ejemplo: Label1.BorderStyle = 1

Comentarios

Puede utilizar tanto el control BorderStyle como el control SpecialEffect para especificar el borde para un control, pero no ambos, fmBorderStyleNone 0 El

Page 29: Excel Avanzado

control no tiene una línea de borde visible, fmBorderStyleSingle 1 El control tiene un borde de una sola línea y es el predeterminado.

Propiedad BorderColor

Especifica el color del borde de un objeto.

Sintaxis: objeto.BorderColor [= Long] Ejemplo: Label1.BorderColor = RGB(0, 255, 0)

Comentarios

Para utilizar la propiedad BorderColor, la propiedad BorderStyle se debe establecer a un valor distinto de fmBorderStyleNone.

La propiedad BorderStyle utiliza BorderColor para definir los colores de los bordes.

Propiedad Visible

Especifica si un objeto es visible o está oculto.

Sintaxis: objeto.Visible [= Boolean] Ejemplo: Label1.Visible = False

Comentarios

Utilice la propiedad Visible para controlar el acceso a información sin mostrarla. Por ejemplo, podría utilizar el valor de un control en un formulario oculto como criterio para una consulta.True El objeto es visible, predeterminado. False El objeto está oculto.

Todos los controles son visibles en tiempo de diseño.

Propiedad Enabled

Especifica si un control puede recibir el enfoque y responder a eventos generados por el usuario.

Sintaxis: objeto.Enabled [= Boolean] Ejemplo: CommandButton1.Enabled = False

Comentarios

Utilice la propiedad Enabled para habilitar y deshabilitar controles. Un control deshabilitado se muestra atenuado, mientras que un control habilitado no. True El control puede recibir el enfoque y responder a eventos generados por el usuario, y se puede tener acceso al mismo mediante código, predeterminado.  False El usuario no puede interactuar con el control utilizando el mouse,

Page 30: Excel Avanzado

pulsaciones de teclas, teclas aceleradoras o teclas de acceso directo. Generalmente se puede tener acceso al control mediante código.

Objeto Font

Define las características del texto utilizado por un control o un formulario.

Propiedad Name

Especifica el nombre de un control u objeto, o el nombre de una fuente asociada al objeto Font.

Sintaxis: Font.Name [= String] Ejemplo: Label1.Font.Name = "Time New Roman"

Propiedades Bold, Italic, Size, StrikeThrough y Underline

Especifica los atributos visuales del texto en un formulario en pantalla o impreso.

Sintaxis: objeto.Bold [= Boolean] Ejemplo: Label1.Font.Bold=True

Sintaxis: objeto.Italic [= Boolean] Ejemplo: Label1.Font.Italic=True

Sintaxis: objeto.Size [= Currency] Ejemplo: Label1.Font.Size=20

Sintaxis: objeto.StrikeThrough [= Boolean] Ejemplo: Label1.Font.StrikeThrough=True

Sintaxis: objeto.Underline [= Boolean] Ejemplo: Label1.Font.Underline=True

Los valores para Boolean son:

Valor Descripción True El texto tiene el atributo especificado es decir, negrita, cursiva, tamaño, marcas de tachado o subrayado, o grosor. False El texto no tiene el atributo especificado, predeterminado.

Programación de Formularios

Creamos una hoja de calculo y en ella una tabla con los siguientes rotulos:

Page 31: Excel Avanzado

Creamos un Formulario presionando La Teclas Alt + F11, para entrar al editor de Visual Basic o de clic en Herramientas, Macro y Editor de Visual Basic.

Del Menú Insertar elija la Opción UserForm. Esto inserta el Formulario que se programara con controles.

Para visualizar algunas acciones de un formuladio vamos a crear los siguientes elementos:

Page 32: Excel Avanzado

Y modificamos las propiedades de cada elemento dejando los controles de la siguiente forma:

Page 33: Excel Avanzado

Damos doble Clic al botón de Insertar y escribimos el siguiente codigo:

Page 34: Excel Avanzado

Luego damos doble clic en UserForm1 de la ventana de Proyecto y nos lleva al Formulario nuevamente.

Page 35: Excel Avanzado

Damos doble Clic al botón de Cerrar y escribimos el siguiente código:

Ahora ejecutamos el formulario con el botón Ejecutar de la barra de herramientas.

Page 36: Excel Avanzado

Nos muestra el siguiente formulario y podemos insertar datos.

 

Al darle clic en Insertar los datos del control se llevaran a la hoja de calculo en las celdas programadas.

Page 37: Excel Avanzado

Podemos agregar una macro para ejecutar el formulario desde un botón con el siguiente código:

Page 38: Excel Avanzado

Ahora podremos ejecutar el formulario desde la hoja donde esta la tabla de datos.

Crear Formulas en los Formularios

Para hacer operaciónes podemos utilizar:

+ para la operación de suma - para la operación de resta * para la operación de multiplicación / para la operación de división

Junto con la función Val que es un comando de Visual Basic que te permite convertir un valor de texto a un valor numérico.

Val (Función)

Devuelve los números contenidos en una cadena como un valor numérico del tipo adecuado.

Sintaxis: Val(cadena) Ejemplo: Val(TextBox2) o Total = Val(TextBox2) *  Val(TextBox3)

El argumento obligatorio cadena es cualquier expresión de cadena válida.

Page 39: Excel Avanzado

Por lo tanto podemos hacer operaciones en nuestra hoja directamente como lo escribio en el codigo anterior del botón insertar

Ejecutamos y vemos como se hace la operación y se inserta el valor en la celda de Total.

 

Animación Ejemplo de Macros y Formularios

 

 

 

 

Oficina de Seleción y Promoción - Capacitación - Cursos de Sistemas

Page 40: Excel Avanzado

Formularios y Controles en Visual Basic para Excel

OBJETIVOS  

Programación de Formularios Aplicaciones Ejemplos practicos Ejercicios

Programación de Formularios

En el Ejercicio anterior tenemos ya un formulario que alimenta una lista de datos ahora crearemos dos formularios más  uno para borrar registros de la lista y otro para editar los datos de un determinado registro.

El segundo formulario será un formulario para eliminar registros que se buscan de la lista creada y utilizaremos los siguientes elementos

Page 41: Excel Avanzado

En el botón Buscar pondremos el siguiente código:

 

Las instrucciones usadas indican:

Page 42: Excel Avanzado

Instrucción Worksheets devuelve un conjunto Sheets que representa todas las hojas del libro activo.

Ejemplo: Worksheets(1).Range("A1").Value Indica que puede ejecutar acciones en el libro 1 y la celda A1

Instrucción Set Asigna una referencia de objeto a una variable o propiedad, en este caso si hay o no datos en la lista el datos queda en "c".

Instrucción Range(c.Address).Select Ubica la celda activa en la dirección donde encontró "c" .

Instrucción Set c = Nothing libera y deja limpio a "c"  

En el botón borrar escribimos el siguiente código:

 

y en el Botón Cerrar repetimos el código de cerrar del formulario 1 pero aplicandolo al formulario 2 así:

Page 43: Excel Avanzado

Ahora agregamos el botón para ejecutar la macro que ejecuta el formulario 2 desde la hoja de calculo:

Nuestro siguiente formulario 3 permite Editar los datos existentes en la hoja de datos, y hay que insertar los siguientes controles:

Page 44: Excel Avanzado

Note que los botones Editar y Grabar tienen la propiedad Enable en False.

Programamos el botón Buscar o CommandButton1 así:

Page 45: Excel Avanzado

La direfencia con el botón buscar del formulario 2, es que se pone en True la propieded Enable si se encuentra dato para poderlo editar, en caso contrario se pone en False.

Luego programamos el botón 2 osea el de Editar (CommandButton2):

Page 46: Excel Avanzado

En este botón usamos una nueva instrucción como lo es ActiveCell.Next.Select que permite mover el cursor a la siguiente celda para cargar los datos de la hoja de datos, además activamos CommandButton3 o el botón de Grabar para poder guardar los cambios.

En el botón de Grabar o CommandButton3 guardamos los datos en las celdas  de la hoja de datos:

Page 47: Excel Avanzado

En este botón usamos ActiveCell.Previous.Select que nos permite regresar el cursor segun el caso a cada celda para guardar los datos editados, y luego quitamos los controles Label y TextBox de Cantidad y Valor.

Además los Limpiamos y desactivamos los botones de Editar y Grabar para que se haga una nueva consulta.

y en el Botón Cerrar repetimos el código de cerrar del formulario 1 y 2 pero aplicandolo al formulario 3 así:

Page 48: Excel Avanzado

Por ultimo creamos el botón de Editar en la hoja de datos.

Y tenemos una aplicación que Inserta, Borra y Edita Datos de una Hoja de Calculo.

 

Page 49: Excel Avanzado

http://www.javeriana.edu.co/puj/viceadm/drh/capacitacion.old/nmaterial/macros/mr6/mr6.html