Académique Documents
Professionnel Documents
Culture Documents
2010
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.
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] 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
2010
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
2010 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.
[MICROSOFT EXCEL 2007 - AVANZADO] 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.
2010
Para intercambiar entre Diseo y Ejecucin o viceversa utilice el control Modo Diseo:
\se muestra la ventana propiedades \ active las propiedades que sean necesarias. [Bcquer Bendez Boza]
2010
Propiedades
Para activar las propiedades: Ficha Programador \Controles ActiveX \ Comando Insertar
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.
2010
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
2010
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.
2010
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 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
2010
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
2010
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.
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.
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.
10
2010
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.
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:
11
2010
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
[MICROSOFT EXCEL 2007 - AVANZADO] ' 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
2010
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.
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
13
[MICROSOFT EXCEL 2007 - AVANZADO] 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
2010
14
2010
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.
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.
2010
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.
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 [Bcquer Bendez Boza] 16
2010
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
17
2010
Contenido en la Hoja2: los tipos de comprobantes de pago utilizados para el registro dentro del registro de compras.
18
2010
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 Label1 [Bcquer Bendez Boza] Propiedad Caption Valor N
19
[MICROSOFT EXCEL 2007 - AVANZADO] Label2 Label3 Label4 Label5 Label6 TextBox1 TextBox2 TextBox3 TextBox4 ComboBox1 ComboBoX1 ComboBoX2 ComboBoX2 CommandButton Caption Caption Caption Caption Caption Name Name Name Name Name RowSource Name RowSource Name Doc. Nmero RUC Cliente V_Vta txtN txtSerieN txtCliente txtValor cbDoc comprobante cbRuc cliente cmbInsertar
2010
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 [Bcquer Bendez Boza] 20
[MICROSOFT EXCEL 2007 - AVANZADO] ActiveCell.FormulaR1C1 = val Range("g9").FormulaR1C1 = val * 0.19 Range("h9").FormulaR1C1 = val * 1.19 End Sub
2010
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.
21