Controles y Macros en Excel 2007

Embed Size (px)

Citation preview

  • [MICROSOFT EXCEL 2007 - AVANZADO] 2010

    [Bcquer Bendez Boza] 1

    Controles de Formulario

    Qu son los Controles?

    Los controles de Formulario, y en general los controles son objetos grficos que se colocan en un formulario o en una hoja de clculo para mostrar o introducir datos, realizar una accin o facilitar la lectura del formulario u hoja de clculo. Estos objetos incluyen: cuadros de texto, cuadros de lista, botones de opciones, botones de comandos, y otros elementos.

    Estos controles ofrecen al usuario opciones adicionales para interactuar con objetos dentro de las aplicaciones. Como ejemplo al hacer clic podemos ejecutar una macro previamente asignada.

    Tipos de Controles

    Microsoft Excel tiene dos tipos de controles. Los controles ActiveX son apropiados para la mayor parte de las situaciones y funcionan con las macros y secuencias de comandos Web de Microsoft Visual Basic Para Aplicaciones (VBA). Los controles de Formulario son compatibles con versiones anteriores de Excel, comenzando por Excel 5.0, y pueden utilizarse dentro de las hojas de clculo para hacer interactiva el desarrollo de actividades.

    Controles de la Formularios

    Utilice estos controles cuando desea grabar todas las macros de un formulario pero no desee escribir o modificar ningn cdigo de macro de VBA. Estos controles tambin pueden ser utilizados en hojas de grficos.

    Activando los controles de Formulario

    Los controles de formulario en la versin de Ms Excel 2007 se encuentran en la ficha Programador.

    Programador >> Insertar >> seleccione el control deseado

    Control de Nmero

    Este control permite incrementar o disminuir nmeros enteros dentro de una celda de la hoja de clculo.

    Dentro de la ficha programador

    Ubique el grupo de opciones Controles

    La opcin Insertar

    Seleccione el control numrico

    Inserte dentro de la hoja de clculo dando un clic

    Cambie el tamao y ubicacin del control

  • [MICROSOFT EXCEL 2007 - AVANZADO] 2010

    [Bcquer Bendez Boza] 2

    Para Relacionar el Control con la Hoja de Clculo

    Clic derecho sobre el control

    Seleccione Formato de Control

    Considere las propiedades de la ficha

    control

    Valor Actual muestra el valor del

    control numrico

    Valor mnimo y Valor Mximo indica

    cual es el mnimo y mximo valor que se

    puede controlar

    Incremento; indica el nivel de

    incremento cada vez que use el control

    Vincula con la celda hace que se pueda

    interactuar con la hoja de clculo

    Clic en Aceptar y pruebe como quedo

    Casilla de Verificacin

    Control que permite aceptar o rechazar una condicional, si se encuentra marcada el valor a devolver es VERDADERO en caso contrario FALSO.

    Dentro de la ficha programador

    Ubique el grupo de opciones Controles

    La opcin Insertar

    Seleccione el control Casilla de Verificacin.

    Inserte dentro de la hoja de clculo dando un clic

    Cambie el tamao y ubicacin del control

    Puede borrar el texto de la casilla.

    Para Relacionar el Control con la Hoja de Clculo

    Clic derecho sobre el control

    Seleccione Formato de Control

    Considere las propiedades de la ficha

    control

    Sin Activar; muestra marcado si el

    control no halla activado o marcado.

    Activado; indica la posicin de activado en

    caso as lo estuviera el control.

    Vincula con la celda hace que se pueda

    interactuar con la hoja de clculo

    Clic en Aceptar y pruebe como quedo

    Control Cuadro Combinado

    El cuadro combinado es un control que muestra una lista desde donde puedo seleccionar un determinado valor.

    Dentro de la ficha programador

    Ubique el grupo de opciones Controles

    La opcin Insertar

    Seleccione el control Cuadro Combinado.

  • [MICROSOFT EXCEL 2007 - AVANZADO] 2010

    [Bcquer Bendez Boza] 3

    Inserte dentro de la hoja de clculo dando un clic

    Cambie el tamao y ubicacin del control

    Para Relacionar el Control con la Hoja de Clculo

    Primeramente necesita una lista de datos

    que pueden ser almacenados en un

    nombre o un rango de celdas.

    Clic derecho sobre el control

    Seleccione Formato de Control

    Considere las propiedades de la ficha

    control

    Rango de Entrada; debe indicarse el

    rango o nombre de celdas o celda que

    contienen los datos para mostrar dentro

    de la lista desplegable del cuadro

    combinado.

    Vincular con la celda; deber indicarse

    una referencia a una celda de la hoja de

    clculo; el cual devolver el nmero de

    posicin de la lista seleccionada.

    Clic en Aceptar y pruebe como quedo

    En el grafico se seleccion el tercer elemento de la lista y

    en la celda vinculada aparece el nmero 3.

    Control Botn de Opcin

    El botn de opcin permite crear un grupo de opciones que pueden alternar entre ellos y devolver el valor del control seleccionado. Este control necesariamente necesita del control cuadro de grupo; el cual permite agrupar las opciones para un determinado objetivo.

    En consecuencia primero deberemos insertar en la hoja de clculo un control cuadro de grupo.

    Dentro de la ficha programador

    Ubique el grupo de opciones Controles

    La opcin Insertar

    Seleccione el control Cuadro de Grupo.

    Inserte dentro de la hoja de clculo dando un clic

    Cambie el tamao y ubicacin del control

    Puede borrar el texto de la casilla.

    Seguidamente debemos insertar Botones de Opcin dentro del control Cuadro de Grupo

    Dentro de la ficha programador

    Ubique el grupo de opciones Controles

    La opcin Insertar

    Seleccione el control Botn de Opcin.

    Inserte dentro del control Cuadro de grupo insertada

    anteriormente en la hoja de clculo dando un clic

    Cambie el tamao y ubicacin del control; Puede borrar

    o cambiar el texto de la casilla.

  • [MICROSOFT EXCEL 2007 - AVANZADO] 2010

    [Bcquer Bendez Boza] 4

    Para relacionar los controles con la hoja de clculo

    Clic derecho sobre cualquiera de los controles botn de

    opcin.

    Seleccione Formato de Control

    Considere las propiedades de la ficha control

    Sin Activar y Activado; interacta con el control

    seleccionado observe que slo un botn puede ser

    seleccionado del grupo.

    Vincular con la celda; deber indicarse una referencia

    a una celda de la hoja de clculo; el cual devolver el

    nmero de la opcin seleccionada.

    Uso de controles ActiveX en Ms

    Excel 2007

    Qu es un Control Active X?

    Son Objetos adicionales que pueden ser contenidos dentro de los programas como Ms Excel; estos controles le agregan funciones y mayor funcionalidad a los programas existentes que se ejecuten en sistemas operativos Microsoft Windows. A diferencia de los controles de formulario, estos controles necesitan configurar propiedades que son ms avanzadas para su funcionalidad.

    Insertar un Control Active X

    Ficha Programador \ Comando Insertar \Seleccione el control ActiveX deseado

    \dibuje sobre la hoja de clculo.

    Modo diseo y Modo Ejecucin del Control ActiveX

    Estos controles al igual que los controles de formulario cuentan con un estado de

    DISEO [caracterstica: los puntos circulares en el contorno del control]

    EJECUCIN [caracterstica: no se muestran los puntos circulares en el contorno]

    Para intercambiar entre Diseo y Ejecucin o viceversa utilice el control Modo Diseo:

    Activar las Propiedades de los Controles ActiveX

    Los controles ActiveX no operan al igual que los controles de Formulario activando tan slo el formato de control; para que puedan operar necesitan configurar sus PROPIEDADES, propiedades ms avanzadas.

    Siga los pasos para activar:

    Seleccione el control [diseo] \ en la ficha programador \comando propiedades

    \se muestra la ventana propiedades \ active las propiedades que sean necesarias.

  • [MICROSOFT EXCEL 2007 - AVANZADO] 2010

    [Bcquer Bendez Boza] 5

    Cuadro Combinado [ComboBox]

    Insertar un Cuadro Combinado \ active sus propiedades

    Propiedades

    Para activar las propiedades:

    Ficha Programador \ Comando Insertar \Controles ActiveX

    ListFillRange

    Devuelve o establece el rango de la hoja de clculo empleado para rellenar el cuadro de lista especificado. Al establecer esta propiedad desaparece cualquier lista existente en el cuadro

    LinkedCell

    Devuelve o establece el rango de la hoja de clculo vinculado al valor del control. Si sita un valor en la celda, el control toma dicho valor. De la misma forma, si el valor del control cambia, ese valor tambin se coloca en la celda.

    PrintObject

    Determina si el Objeto se imprime o no en el momento que se envi la hoja de clculo a impresin

    TextColumn

    Identifica la columna en un control ComboBox o ListBox para almacenarla en la propiedad Text cuando el usuario selecciona una fila. Permite identificar el nmero de columna de la que se desea ver el contenido.

  • [MICROSOFT EXCEL 2007 - AVANZADO] 2010

    [Bcquer Bendez Boza] 6

    Macros en Excel

    Una Macro es una serie de pasos que se almacenan y se pueden activar con alguna tecla de control y una letra. Por ejemplo, todos los das empleo frecuentemente en mis celdas los mismos pasos: Tamao de Fuente (Tamao de la letra), Negrita, Fuente (Tipo de letra) y Color de Fuente (Color de Letra), para no estar repitiendo estos pasos los puedo almacenar en una macro y cuando ejecute la macro los pasos antes mencionados se ejecutaran las veces que yo lo desee. Internamente la Macro es un conjunto de cdigos de programa que se ejecutan cuando se llaman a la macro

    Reconociendo el entorno de las macros

    Las versiones anteriores a MS Excel 2007, muestra las opciones de macros dentro del men HERRAMIENTAS \ MACRO; en el encontraremos opciones como:

    Macro (permite configurar y manejar el uso de las macros), el mtodo abreviado es ALT + F8

    Grabar nueva macro (permite grabar una macro desde Excel),

    Seguridad (configura la seguridad de las macros, para poder utilizar y ejecutar las macros debemos configurar la seguridad al nivel medio o bajo) y

    Editor de Visual Basic (permite crear y administrar las macros desde el Editor de Visual Basic para Aplicaciones)

    La versin de MS Excel 2007, muestra las opciones antes mencionadas de la macros dentro de la etiqueta PROGRAMADOR, que por defecto no se encuentra visible en Ms Excel; por lo que debemos activar la etiqueta programador.

    Para poder crear las famosas macros en Excel se puede operar de dos formas: la forma tradicional que permite grabar la macro desde la hoja de clculo; la otra forma consiste en crear la macro desde el Editor de Visual Basic utilizando cdigos de programa; ya que una macro internamente es un conjunto de cdigos creados en el entorno Visual Basic. As veremos las dos formas de creacin de las macros.

    Grabacin de una Macro desde la Hoja de Clculo.

    ste mtodo de creacin de macros es la ms sencilla, pues permite utilizar un entorno que permitir grabar todas las operaciones realizadas dentro de una macro y as podremos utilizar dicha macro n veces.

    A continuacin se indicarn los pasos a seguir para grabar una macro que permita poner negrita y cambiar el color de fuente de la celda activa.

    Creacin de una macro que cambia el formato de fuente de la celda

    activa

    Primero: ubicado en la celda A1 de cualquier libro y hoja de Ms Excel escriba un nombre, Ejemplo Bcquer, luego presione ENTER y a continuacin vuelva a la celda A1 porque sta corri un espacio al presionar ENTER.

    Segundo: ubique el men Herramientas \ Macro \ Grabar Nueva Macro (para Ms Excel 2003 y versiones anteriores); ficha Programador \ Grabar Nueva Macro (para Ms Excel 2007) y de clic sobre esta opcin. Aparecer el cuadro de dilogo Grabar Macro como se muestra en la figura siguiente:

  • [MICROSOFT EXCEL 2007 - AVANZADO] 2010

    [Bcquer Bendez Boza] 7

    En el cuadro de dilogo de Grabar Macro podremos asignarle el nombre y un mtodo abreviado para ejecutar la macro. El mtodo Abreviado se refiere a la letra con la que se activar la macro, obviamente se activara con la tecla Control y la letra que usted quiera, de preferencia en minscula, porque si activa las maysculas la macro se activar presionando la tecla Shift + Control + la letra que usted indico.

    Tercero: Asigne un nombre a la macro en el casillero donde indica Nombre de la Macro; por defecto se tiene Macro1, dejemos ese nombre para el ejercicio (recomendable no utilizar espacios ni caracteres especiales para el nombre de la macro).

    Cuarto: en el casillero que indica Mtodo Abreviado podemos ingresar una letra que permitir activar la macro rpidamente en combinacin con la tecla CTRL (control); para el ejercicio escriba la letra a en minscula. La macro se activar con la combinacin CTRL + a, cuando este lista.

    Quinto: la opcin Guardar macro en, permite guardar macro en diferentes entornos: Este libro, para poder guardar la macro anexa al archivo o libro de Excel actualmente utilizado. Libro Nuevo, para abrir un nuevo archivo o libro y crear la macro dentro de ella. Libro de macros personal, permite almacenar las macros para que estn disponibles siempre que utilice Ms Excel en el equipo o computadora que utiliza actualmente. Para el ejercicio guardemos en Este Libro.

    Sexto: si se desea considerar una Descripcin utilice el casillero para poder ingresar la descripcin breve de la macro creada.

    Sptimo: de clic en el botn Aceptar, se empezar a grabar todos los pasos, acciones y las operaciones que realice, el cual podr detenerlas dando clic en el cuadro de color azul de la barra de herramientas activada:

    Octavo: antes de dar clic para detener la grabacin, para continuar con el ejercicio, no olvide que se encuentra dentro la celda A1 y escribi un nombre en ella.; entonces cambie el tipo de letra a negritas, el color de fuente y el tamao deseado al texto escrito en la celda A1.

    Noveno: clic en detener grabacin, y listo la grabacin concluyo y se cre la macro.

    Dcimo: comprobemos escribiendo un texto en otra celda y luego teniendo activa dicha celda presione CTRL + a, y ver que el formato del texto cambia automticamente.

    Ahora te recomiendo que domines estos pasos antes de pasar a la siguiente fase. Trata de crear macros que almacenen pasos como estos, recuerda los pasos los vas a indicar tu, que no se te olvide detener la grabacin despus de que indicaste los pasos, repite este ejercicio las veces que sea necesario para aprendrtelo bien.

    Ejercicios de aplicacin prctica:

    Graba una Macro que se active con Control + b y que esta macro permita abrir un archivo.

    Graba una Macro que se active con Control + c y que esta macro permita insertar un WordArt.

    Graba una Macro que se active con Control + d y que esta macro permita la fecha actual del sistema en la celda activa.

  • [MICROSOFT EXCEL 2007 - AVANZADO] 2010

    [Bcquer Bendez Boza] 8

    Graba una Macro que se active con Control + e y que esta macro permita realizar una vista preliminar antes de imprimir la hoja activa.

    Graba una Macro que se active con Control + f y que esta macro permita insertar una nueva hoja de clculo en el archivo o libro.

    Graba una Macro que se active con Control + g y que esta macro permita insertar una nueva columna dentro de la hoja de clculo.

    El Editor de Visual Basic para Aplicaciones (VBA)

    El Editor de Visual Basic es el entorno en el que puede escribir y modificar cdigo y procedimientos de Visual Basic para Aplicaciones. El Editor de Visual Basic contiene un conjunto completo de herramientas de depuracin para buscar sintaxis, tiempo de ejecucin y problemas lgicos en el cdigo en uso. El Editor de Visual Basic Puede utilizarse para escribir y modificar las macros adjuntas a los libros de Microsoft Excel.

    Para abrir el Editor de visual Basic: en cualquier versin de MS Excel ALT + F11

    Describiendo la Ventana del Editor de Visual Basic para Aplicaciones

    (VBA)

    Al presionar la combinacin de teclas ALT + F11 desde la hoja de clculo, se mostrar la ventana siguiente:

    El Explorador de Proyecto

    Ubicado en la parte superior derecha de la ventana principal del VBA; permite controlar los proyectos que no son otra cosa que los archivos o libros abiertos en Ms Excel. Se abre un solo Editor de Visual Basic por tantos archivos abiertos de Ms Excel; a partir del cual se pueden controlar todos los proyectos con la ayuda de la ventana Explorador de Proyectos.

    En caso no se muestre esta ventana actvela desde el cono de la barra de herramientas o tambin desde el men VER \ EXPLORADOR DE PROYECTOS. Mtodo abreviado CTRL + R

  • [MICROSOFT EXCEL 2007 - AVANZADO] 2010

    [Bcquer Bendez Boza] 9

    La ventana consta de:

    Ver cdigo

    Muestra la ventana Cdigo para que pueda escribir y editar cdigo asociado al elemento seleccionado.

    Ver objeto

    Muestra la ventana Objeto correspondiente al elemento seleccionado, un documento o un formulario existente.

    Alternar carpetas

    Oculta y muestra las carpetas de objetos a la vez que muestra los elementos individuales contenidos en dichas carpetas.

    Adicionalmente la ventana cuenta con una lista de proyectos y cada proyecto cuentas con elementos que se describen a continuacin:

    Muestra el proyecto y los elementos contenidos en el; cada proyecto se muestra indicado con el nombre del archivo.

    Cada proyecto puede contar con cuatro elementos fundamentales, como se muestra en la figura anterior,

    los objetos compuestos por las Hojas; los formularios, mdulos y Mdulos de clase:

    La Ventana de Propiedades

    Se encuentra ubicada en la parte inferior izquierda de la ventana principal de VBA, permite configurar las propiedades de los objetos seleccionados en la ventana del explorador de proyectos.

    En caso no se muestre esta ventana de propiedades actvela desde el icono ubicada en la barra de herramientas estndar o tambin desde el men VER \ VENTANA DE PROPIEDADES. Mtodo abreviado F4

  • [MICROSOFT EXCEL 2007 - AVANZADO] 2010

    [Bcquer Bendez Boza] 10

    Esta ventana consta de las siguientes partes:

    Indicador de objeto, permite mostrar el nombre del objeto seleccionado, del cual se muestran las propiedades dentro de la ventana de propiedades.

    Opciones de visualizacin y orden de propiedades, permite ordenar y visualizar las propiedades con un orden alfabtico y por categoras.

    La lista de propiedades que cuentan con los valores correspondientes segn la configuracin deseada.

    La Barra de Herramientas Estndar

    Permite utilizar en forma rpida las opciones del VBA. As tenemos:

    Ver Microsoft Excel; permite alternar entre Ms Excel y el VBA.

    Insertar; permite insertar objetos como el UserForm, Mdulo y los Mdulos de clase.

    Guardar; guarda el proyecto de VBA anexo al archivo de Excel actual. El proyecto de VBA se almacena dentro del archivo de Excel.

    Ejecutar Macro; permite ejecutar una macro creada; tambin un Userform.

    Interrumpir; muchas veces al ejecutar una macro es necesaria el interrumpir su ejecucin por motivos propios del programa.

    Restablecer; permite restablecer la edicin de una macro si esta ha sido bloqueada por algn error.

    Creacin de una Macro desde el Editor de Visual Basic para Aplicaciones.

    El Editor de Visual Basic como ya se mencion anteriormente permite incrementar el poder de utilizacin de Excel y crear aplicaciones y escenarios muchas veces difciles o imposibles de crear desde el entorno de la hoja de clculo. Empezaremos mostrando y modificando el cdigo de una macro grabada desde Ms Excel, para terminar creando una macro desde el Editor de VBA.

    Grabar una Macro desde La Hoja de Clculo, Visualizar y Modificar su

    Cdigo desde VBA.

    Utilizaremos la opcin de grabacin de macro desde Ms Excel para luego visualizar el cdigo y modificarla.

    Grabar una macro para ingresar texto en una celda.

    Primero: encontrndose en la celda A1 active la grabacin de macros Herramientas \ Macro \ Grabar Nueva Macro (para Ms Excel 2003 y versiones anteriores); ficha Programador \ Grabar Nueva Macro (para Ms Excel 2007) y de clic sobre esta opcin.

  • [MICROSOFT EXCEL 2007 - AVANZADO] 2010

    [Bcquer Bendez Boza] 11

    Segundo: en el cuadro de dilogo grabar macro ingrese el nombre de la macro: Macro1, el mtodo abreviado CTRL + t y de clic en ACEPTAR para iniciar con la grabacin.

    Tercero: teniendo seleccionada la celda A1 se escribe cualquier texto dentro de ste Ejemplo: Bcquer; luego presiones ENTER para aceptar el valor de la celda.

    Cuarto: pare la grabacin de la macro presionando el botn Detener Grabacin. As Excel a concluido con la grabacin de la macro y creado su propio cdigo.

    Visualizar el cdigo de la macro creada

    Una vez creada la macro procederemos a visualizar el cdigo de la misma:

    Primero: estando ubicado en la hoja de clculo donde se cre la macro, debemos abrir el Editor de VBA presionando la combinacin de teclas ALT + F11, as se mostrar la ventana principal del editor de VBA. En ella se muestra:

    los objetos de la hoja de clculo, tres hojas (Hoja1, Hoja2 y Hoja3) cuyos nombres se ven entre dos parntesis.

    los Mdulos en el cual se almacenan los cdigo de las macros creadas, para visualizarlas basta con dar doble clic en una de ellas y as podremos visualizar el contenido de la misma. Doble Clic

    sobre

    Adicionalmente se muestra las propiedades del objeto seleccionado dentro de la ventana explorador de proyectos como se muestra en la figura anterior.

    Segundo: Doble clic en el Mdulo1 para visualizar el contenido del mismo, que en si es el cdigo de programa que sustenta la macro. As tendremos la siguiente ventana:

  • [MICROSOFT EXCEL 2007 - AVANZADO] 2010

    [Bcquer Bendez Boza] 12

    El cdigo de programa descrito en la parte derecha del editor de VBA tiene la siguiente estructura.

    Sub Macro1() ' ' Macro1 Macro ' Macro grabada el 01/07/2007 por BECQUER BENDEZU ' ' Acceso directo: CTRL+t ' ActiveCell.FormulaR1C1 = "Bcquer" Range("A2").Select End Sub

    Explicacin:

    La instruccin Sub, en la primera lnea, declara el nombre, los argumentos y el cdigo que compone el cuerpo de un procedimiento; dicho en espaol inicia el programa (macro) dando un nombre a la macro. En consecuencia Macro1 es el nombre del procedimiento o programa (macro). Los parntesis son parte de la sintaxis de la instruccin Sub.

    La segunda lnea hasta la sptima lnea inician con el carcter ', el cual se utiliza para indicar comentarios dentro del cdigo de programa, es decir realizar anotaciones o descripciones que no se ejecutan dentro del programa, la instruccin equivalente es Rem; es decir puede remplazarse a ' con Rem.

    La octava lnea muestra el cdigo ActiveCell.FormulaR1C1 = Bcquer; en realidad esta es la lnea que permite escribir el texto indicado entre las comillas dentro de la celda activa segn muestra ActiveCell. La propiedad FormulaR1C1 permite asignar o recuperar el valor de la celda activa, pudiendo ser inclusive una frmula. En el caso de la macro creada FormulaR1C1 asigna un valor tipo texto a la celda activa ActiveCell

    La novena lnea muestra el cdigo Range(A2).Select que selecciona la celda A2, recuerde que al grabar la macro presionamos la tecla Enter despus de ingresar o escribir el nombre en la celda A1. La propiedad Range permite asignar u obtener valores en fin controlar rangos de celdas o tambin una celda especfica, y as la propiedad Select selecciona la celda especificada en Range().

    La ltima lnea End Sub finaliza el procedimiento ola macro.

    Finalmente solo nos quedara ejecutar la macro presionando F5 desde el editor de VBA

    Modificando la macro grabada

    La macro creada en el acpite anterior fue analizada y permite escribir el mismo texto dentro de una celda cualquiera (celda activa) y luego ubica la celda activa en la celda A2. Modificaremos dicho cdigo para ingresar un dato dentro de un cuadro de dilogo y ste dato se almacenar en la celda activa; ello se consigue cambiando el cdigo anterior con el que a continuacin se detalla

    Sub Macro1() '

  • [MICROSOFT EXCEL 2007 - AVANZADO] 2010

    [Bcquer Bendez Boza] 13

    ' Macro1 Macro ' Macro grabada el 01/07/2005 por BECQUER BENDEZU ' ' Acceso directo: CTRL+t ' ActiveCell.FormulaR1C1 = InputBox(Ingrese su nombre por favor: ) ' Range("A2").Select End Sub

    Observe que utilizamos el comando InputBox en vez de un dato fijo como bcquer podremos ingresar cualquier dato inclusive una funcin; ya que InputBox permite mostrar un cuadro de dilogo emitiendo un mensaje y almacenar el dato ingresado en memoria, pudiendo ser utilizado ste; as tendremos una macro ms interesante.

    Ejecutando la macro con F5 o el icono , desde el VBA, pruebe e ingrese datos de tipo numrico, texto y fecha; incluso pruebe en ingresar una funcin Ejemplo =NOW() que es el equivalente a =HOY() en espaol. En el caso de funciones debemos utilizar los equivalentes o la funcin en ingles.

    Ejercicios de aplicacin prctica

    Genera una Macro que escriba un nombre en una celda y lo ponga negrita y observa el Cdigo.

    Genera una Macro que escriba un nombre en una celda y lo Centre y observa el Cdigo.

    Genera una Macro que escriba un nombre en una celda y cambie el tamao de la letra a 20 puntos y observa el Cdigo

    Cdigos ms comunes

    Trasladarse a una Celda

    Range("A1").Select

    Escribir en una Celda

    Activecell.FormulaR1C1="Bcquer"

    Letra Negrita

    Selection.Font.Bold = True

    Letra Cursiva

    Selection.Font.Italic = True

    Letra Subrayada

    Selection.Font.Underline = xlUnderlineStyleSingle

    Centrar Texto

    Selection.HorizontalAlignment = xlCenter

    Alinear a la izquierda

    Selection.HorizontalAlignment = xlLeft

    Alinear a la Derecha

    Selection.HorizontalAlignment = xlRight

    Tipo de Letra(Fuente)

    Selection.Font.Name = "AGaramond"

    Tamao de Letra(Tamao de Fuente)

    Selection.Font.Size = 15

  • [MICROSOFT EXCEL 2007 - AVANZADO] 2010

    [Bcquer Bendez Boza] 14

    Copiar

    Selection.Copy

    Pegar

    ActiveSheet.Paste

    Cortar

    Selection.Cut

    Ordenar Ascendente

    Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _

    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

    Orden Descendente

    Selection.Sort Key1:=Range("A1"), Order1:=xlDescending, Header:=xlGuess, _

    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

    Buscar

    Cells.Find(What:="Ramon", After:=ActiveCell, LookIn:=xlFormulas, LookAt _

    :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _

    False).Activate

    Insertar Fila

    Selection.EntireRow.Insert

    Eliminar Fila

    Selection.EntireRow.Delete

    Insertar Columna

    Selection.EntireColumn.Insert

    Eliminar Columna

    Selection.EntireColumn.Delete

    Abrir un Libro

    Workbooks.Open Filename:="C:\Mis documentos\video safe 3.xls"

    Grabar un Libro

    ActiveWorkbook.SaveAs Filename:="C:\Mis documentos\piscis.xls", FileFormat _

    :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _

    False, CreateBackup:=False

    Crear una macro desde cero en VBA

    Ahora ya es hora de crea una macro desde cero utilizando el editor de VBA.

    Primero: en un archivo nuevo de Ms Excel, presione ALT + F11 para poder ingresar al editor de VBA

    Segundo: agreguemos un mdulo en el proyecto actual en el que est trabajando, Clic Derecho sobre el Proyecto \ Insertar \ Mdulo o tambin podemos utilizar el men INSERTAR \ MODULO. Observamos en el explorador de proyectos que se incremento un nuevo grupo de objetos llamado mdulo, dentro del cul se muestra el Mdulo1

  • [MICROSOFT EXCEL 2007 - AVANZADO] 2010

    [Bcquer Bendez Boza] 15

    Tercero: escribamos el cdigo de programa dentro de la ventana de edicin ubicada en la parte derecha del editor de VBA. Tal como se muestra en la figura anterior. No olvidemos que el texto antecedido de la comilla simple slo es un comentario y no forma parte del programa en cuestin.

    Cuarto: ejecutemos la macro, desde el VBA presionando F5 o en la barra de herramientas. Desde Excel insertemos un objeto para luego asignarle la macro dando clic derecho sobre el objeto insertado y seleccione la opcin asignar macro.

    Veremos que el texto se escribe en la celda A1.

    Asignar Macros a Objetos dentro de una Hoja de Ms Excel

    El uso de las macros puede resumirse o ejecutarse desde las hojas de clculo de Ms Excel; es decir no necesitamos de volver a abrir el VBA para poder ejecutar una Macro creada previamente.

    Primero: contando con una Macro previamente creada en VBA; utilizaremos la Macro1 creada en el acpite anterior.

    Segundo: en alguna de las hojas del archivo insertaremos un objeto cualesquiera (Imgines, Imgines prediseadas, Formas, SmartArt, Grficos, Cuadro de Texto, etc); para el ejemplo insertaremos una Forma, asiendo un clic dentro del icono Formas del grupo de opciones INSERTAR. INSERTAR \ FORMAS \ CORAZN. Luego dibuje una forma de Corazn dentro de la hoja de clculo.

    Tercero: Clic derecho sobre el objeto y seleccione Asignar Macros.

    Cuarto: Dentro de la ventana Asignar Macro deber mostrarse la lista de macros creadas o activas dentro de nuestro libro. Seleccionemos Macro1.

    Probemos; ahora al hacer un clic sobre el objeto al cual se asign la macro deber ejecutarse la macro, sin necesidad de ingresar al editor de VBA.

    Creando Formularios y Programndolos desde VBA

    Ahora aprenderemos a dominar lo mximo de Excel que es crear formularios y programarlos, bueno un formulario es una ventana que se programa por medio de controles y estos controles responden a sucesos que nosotros programamos. Todo esto se encuentra dentro de Visual Basic.

    Primero: Se recomienda utilizar un nuevo archivo de Ms Excel, presiones ALT + F11 para ingresar al editor de VBA.

  • [MICROSOFT EXCEL 2007 - AVANZADO] 2010

    [Bcquer Bendez Boza] 16

    Segundo: asegurmonos que estemos ubicados en el proyecto (archivo) correcto dentro de la ventana Explorador de Proyectos.

    Tercero: insertemos un UserForm desde el men insertar o dando clic derecho sobre el proyecto. Un UserForm es un formulario que podemos programar a discrecin e interactuar con la hoja de clculo; as se incrementa las potencialidades de Ms Excel. Debemos observar que se insert un formulario en la regin derecha del editor de VBA, como se muestra en la siguiente imagen.

    Observe que cuando seleccionamos el objeto Userform1, la ventana de propiedades muestra las propiedades del UserForm1; dichas propiedades pueden ser cambiadas. Ejemplo cambie la propiedad Caption el cual muestra Userform1, el ttulo del formulario ya creado. Tambin puede cambiar BackColor que cambia el color de fondo del formulario. La propiedad Picture permite configurar una imagen de fondo en el formulario.

    Cuarto: ejecute el formulario desde VBA presionando F5 o en la barra de herramientas. Se mostrar el formulario sobre la hoja de clculo; para poder crear un formulario ms interactivo utilicemos los controles del cuadro de herramientas para personalizar el UserForm o formulario creado.

    Utilizando el cuadro de herramienta de un UserForm.

    El cuadro de herramientas contiene una gama de controles que pueden ser personalizados y programados dentro de los formularios en VBA.

    Etiqueta o Label

    En un formulario muestra un texto descriptivo como ttulos, leyendas, imgenes o breves instrucciones. Por ejemplo, las etiquetas para una libreta de direcciones podran incluir un control Label

  • [MICROSOFT EXCEL 2007 - AVANZADO] 2010

    [Bcquer Bendez Boza] 17

    para el nombre, la calle o la ciudad. Un control Label no muestra valores de orgenes de datos ni expresiones; es siempre independiente y no cambia cuando se mueve de un registro a otro.

    La propiedad predeterminada de un control Label es Caption.

    El evento predeterminado de un control Label es Click

    Cuadro de Texto o TextBox

    Muestra informacin de un usuario o de un conjunto de datos organizados.

    Un control TextBox es el control utilizado ms habitualmente para mostrar informacin escrita por un usuario. Tambin puede mostrar un conjunto de datos como una tabla, una consulta, una hoja de clculo o el resultado de un clculo. Si un control TextBox es dependiente de un origen de datos, al cambiar el contenido del control TextBox tambin cambia el valor del origen de datos dependiente

    Cuadro Combinado o ComboBox

    Combina las caractersticas de un control ListBox y un control TextBox. El usuario puede escribir un valor nuevo, como en un control TextBox o bien puede seleccionar un valor existente como en un control ListBox.

    Si un control ComboBox es dependiente de un origen de datos, inserta el valor que el usuario escribe o selecciona en el origen de datos. Si un cuadro combinado de mltiples columnas es dependiente, entonces la propiedad BoundColumn determina qu valor se almacena en el origen de datos dependiente.

    La lista en un control ComboBox est formada por filas de datos. Cada fila puede tener una o ms columnas, las cuales pueden mostrarse con o sin ttulos. Algunas aplicaciones no son compatibles con ttulos de columnas, mientras que otras proporcionan solamente una compatibilidad limitada.

    La propiedad predeterminada de un control ComboBox es Value.

    El evento predeterminado de un control ComboBox es Change

    Cuadro de lista o ListBox

    Muestra una lista de valores y le permite seleccionar uno o varios.

    Si el control ListBox es dependiente de un origen de datos, almacena el valor seleccionado en el origen de datos.

    El control ListBox puede aparecer como una lista o como un grupo de controles OptionButton o CheckBox.

    La propiedad predeterminada de un control ListBox es Value.

    El evento predeterminado de un control ListBox es Click

    Casilla de verificacin o CheckBox

    Muestra el estado de seleccin de un elemento.

    Utilice un control CheckBox para ofrecer al usuario la posibilidad de elegir entre dos posibles valores comoS/No, Verdadero/Falso, o Activado/Desactivado. Cuando el usuario selecciona un controlCheckBox, , ste muestra una marca especial (como X) y su valor actual es S, Verdadero, o Activado; ; si el usuario no selecciona el controlCheckBox, , ste est vaco y su valor es No, Falso, o Desactivado. Dependiendo del valor de la propiedad TripleState, un control CheckBox puede tambin tener un valor null .

    Si un control CheckBox es dependiente de un origen de datos, al cambiar el valor, ste cambia el valor de su origen. Un control CheckBox deshabilitado muestra el valor actual, pero est atenuado y no permite realizar cambios al valor desde la interfaz de usuario

  • [MICROSOFT EXCEL 2007 - AVANZADO] 2010

    [Bcquer Bendez Boza] 18

    Botn de opciones o OptionButton

    Muestra el estado de seleccin de un elemento en un grupo de opciones.

    Utilice un control OptionButton para mostrar si est seleccionado un nico elemento de un grupo. Observe que cada control OptionButton de un control Frame es mutuamente exclusivo.

    Si un control OptionButton es dependiente de un origen de datos, puede mostrar el valor de este origen de datos como S/No, Verdadero/Falso o Activado/Desactivado. Si el usuario selecciona el control OptionButton, el valor actual es S, Verdadero o Activado; si el usuario no selecciona el control OptionButton, el valor es No, Falso o Desactivado. Por ejemplo, un control OptionButton en una aplicacin de seguimiento de inventario podra mostrar si se ha dejado de distribuir un elemento. Si el control OptionButton depende de un origen de datos, al cambiar los valores cambia el valor de este origen de datos. Un control OptionButton deshabilitado est atenuado y no muestra ningn valor

    Botn de alternar o ToggleButton

    Muestra el estado de seleccin de un elemento.

    Utilice un control ToggleButton para mostrar si un elemento est seleccionado. Si un control ToggleButton es dependiente de un origen de datos, muestra el valor actual del origen de datos como S/No, Verdadero/Falso, Activado/Desactivado o alguna otra opcin de dos valores. Si el usuario selecciona el control ToggleButton, el valor actual es S, Verdadero o Activado; si el usuario no selecciona el control ToggleButton, el valor es No, Falso o Desactivado. Si el control ToggleButton depende de un origen de datos, al cambiar su valor cambia el valor del origen de datos. Un control ToggleButton deshabilitado muestra un valor, pero est atenuado y no permite realizar cambios desde la interfaz de usuario.

    Control numrico o SpinButton

    Aumenta o disminuye nmeros.

    Al hacer clic en un control SpinButton solamente cambia el valor del control SpinButton. Puede escribir cdigo que utilice el control SpinButton para actualizar el valor mostrado de otro control. Por ejemplo, puede utilizar un control SpinButton para cambiar el mes, el da o el ao mostrado en una fecha. Tambin puede utilizar un control SpinButton para desplazarse a travs de un intervalo de valores o una lista de elementos o para cambiar el valor mostrado en un cuadro de texto

    Creando mi primer formulario Registro de Compras

    Primero: utilizaremos el archivo Registro de Compras.XLS. Tenga cuidado de crear este formulario en las celdas como se muestra en el grfico:

    Contenido en la Hoja1: Esta hoja nos servir para registrar las compras a travs del uso de los formularios que contendrn informacin.

    Contenido en la Hoja2: los tipos de comprobantes de pago utilizados para el registro dentro del registro de compras.

  • [MICROSOFT EXCEL 2007 - AVANZADO] 2010

    [Bcquer Bendez Boza] 19

    Contenido en la Hoja3: lista de clientes con sus correspondientes RUC.

    Segundo: asigne el nombre comprobante al rango de celdas que contienen las inciales de los comprobantes de pago A2:A5 en la Hoja2; tambin con el nombre cliente al rango de celdas B2:B756 ubicada en la Hoja3, el cual contiene la relacin de clientes.

    Tercero: cree el siguiente formulario dentro del editor de VBA, utilizando los controles necesarios para obtener el formulario como se muestra:

    Cuarto: cambie las propiedades de los controles a los que se indican a continuacin:

    Control Propiedad Valor Label1 Caption N

  • [MICROSOFT EXCEL 2007 - AVANZADO] 2010

    [Bcquer Bendez Boza] 20

    Label2 Caption Doc. Label3 Caption Nmero Label4 Caption RUC Label5 Caption Cliente Label6 Caption V_Vta TextBox1 Name txtN TextBox2 Name txtSerieN TextBox3 Name txtCliente TextBox4 Name txtValor ComboBox1 Name cbDoc ComboBoX1 RowSource comprobante ComboBoX2 Name cbRuc ComboBoX2 RowSource cliente CommandButton Name cmbInsertar

    Quito: dentro del cdigo del formulario escriba los siguientes procedimientos. Puede ahorrar bastante trabajo el darle doble clic sobre cada control para ingresar al evento predeterminado de cada uno.

    Private Sub cbDoc_Change() Range("b9").Select ActiveCell.FormulaR1C1 = cbDoc.Text

    End Sub Private Sub cbRuc_Change()

    Range("d9").Select ActiveCell.FormulaR1C1 = cbRuc.Text Range("e9").Select ActiveCell.FormulaR1C1 = "=vlookup(R9C4,cliente,2)" txtCliente.Text = Range("e9").Text 'Range("e9").Select 'ActiveCell.FormulaR1C1 = txtCliente.Text

    End Sub Private Sub cmbInsertar_Click()

    Rem inserta un renglon Selection.EntireRow.Insert Rem Empty Limpia Los Textbox txtN = Empty txtSerieN = Empty txtValor = Empty Rem Textbox1SetFocus Envia el cursor al Textbox1 para volver a capturar los datos txtN.SetFocus

    End Sub Private Sub txtN_Change()

    Range("a9").Select ActiveCell.FormulaR1C1 = txtN.Text

    End Sub Private Sub txtSerieN_Change()

    Range("c9").Select ActiveCell.FormulaR1C1 = txtSerieN.Text

    End Sub Private Sub txtValor_Change()

    Dim val As Long If Len(txtValor.Text) = 0 Then val = 0 Else val = txtValor.Value

    Range("f9").Select

  • [MICROSOFT EXCEL 2007 - AVANZADO] 2010

    [Bcquer Bendez Boza] 21

    ActiveCell.FormulaR1C1 = val Range("g9").FormulaR1C1 = val * 0.19 Range("h9").FormulaR1C1 = val * 1.19

    End Sub

    Sexto: ejecute el formulario y pruebe ingresar los datos de una compra. Asigne la macro al objeto llamar al Formulario para ejecutar el formulario directamente de la Hoja de Excel.