VERSIÓN DEMO
MANUAL
FORMULARIOS EN EXCEL
(xlsm)
por Elsa Matilde Meyer
INDICE DE CONTENIDOS
En esta versión se incluye el Indice de Contenidos y el desarrollo de uno de sus capítulos a cuyos temas se puede acceder desde el mismo Indice.
Además se incluyen Imágenes de algunos temas y formularios que se desarrollan en este manual.
© <2017> Elsa M.Meyer (Elsamatilde) Página 2
1. INTRODUCCIÓN ... 8
2. LOS MSGBOX ... ¡Error! Marcador no definido. 2.1. Sintaxis de un MsgBox ... ¡Error! Marcador no definido. 2.2. Botones o Buttons en un MsgBox ... ¡Error! Marcador no definido. 2.3. Ejemplos de MsgBox con su sintaxis ... ¡Error! Marcador no definido. 2.4. Cómo indicar saltos de línea en un mensaje ... ¡Error! Marcador no definido. 2.5. Programando MsgBox ... ¡Error! Marcador no definido. 2.6. MsgBox con botones personalizados ... ¡Error! Marcador no definido. 3. LOS INPUTBOX ... ¡Error! Marcador no definido. 3.1. La sintaxis de un InputBox ... ¡Error! Marcador no definido. 3.2. Ejemplos de InputBox con su sintaxis ... ¡Error! Marcador no definido. 3.3. Programando InputBox ... ¡Error! Marcador no definido. 3.4. Cancelar un InputBox: cómo detectarlo ... ¡Error! Marcador no definido. 3.5. Seleccionar rango desde un InputBox ... ¡Error! Marcador no definido. 4. USO DE CONTROLES ... 10
4.1. Tipos de controles ... 10
4.2. Como colocar controles en una hoja Excel ... 11
4.3. Barra ActiveX ... 12
4.4. Barra Formularios ... 13
4.5. Cómo reconocer si se trata de un control ‘ActiveX’ o de ‘Formulario’? ... 14
4.6. Conocer rutina asociada a un control... 15 5. LOS USERFORMS ... ¡Error! Marcador no definido.
5.1. Tipos de Userforms ... ¡Error! Marcador no definido.
5.2. Crear un Userform ... ¡Error! Marcador no definido.
5.3. Propiedades y eventos ... ¡Error! Marcador no definido.
5.4. Dibujar controles en un Userform ... ¡Error! Marcador no definido.
5.4.1. Asignar iguales propiedades a controles ... ¡Error! Marcador no definido.
5.4.2. Asignar nombre a los controles ... ¡Error! Marcador no definido.
5.4.3. Asignar orden de entrada a los controles... ¡Error! Marcador no definido.
5.5. Cómo ejecutar o Llamar a un Userform ... ¡Error! Marcador no definido.
5.6. Cómo programar el formulario y sus controles ... ¡Error! Marcador no definido.
5.7. Propiedades del Userform ... ¡Error! Marcador no definido.
5.7.1. Lista detallada de Propiedades ... ¡Error! Marcador no definido.
5.8. Eventos del Userform ... ¡Error! Marcador no definido.
© <2017> Elsa M.Meyer (Elsamatilde) Página 3 5.9. Ubicación del userform en la pantalla. ... ¡Error! Marcador no definido.
5.10. Userform siempre centrado ... ¡Error! Marcador no definido.
5.11. Inmovilizar un Userform ... ¡Error! Marcador no definido.
5.12. Ocultar un Userform ... ¡Error! Marcador no definido.
5.13. Cerrar un Userform... ¡Error! Marcador no definido.
5.14. Acceder al libro desde un Userform abierto ... ¡Error! Marcador no definido.
5.15. Inhabilitar botón de Cerrar ... ¡Error! Marcador no definido.
5.16. Agregar botones de Minimizar y Maximizar en un Userform ... ¡Error! Marcador no definido.
6. EL CONTROL LABEL O ETIQUETA ... ¡Error! Marcador no definido.
6.1. Características de un control Label ... ¡Error! Marcador no definido.
6.2. Propiedades y Eventos de un Label ... ¡Error! Marcador no definido.
6.3. Inicializando un control Label ... ¡Error! Marcador no definido.
6.4. Uso de Label como contador ... ¡Error! Marcador no definido.
6.5. Mostrar mensaje al pasar el mouse por el control ... ¡Error! Marcador no definido.
6.6. Limpieza de Label ... ¡Error! Marcador no definido.
7. El CONTROL TEXTBOX o CUADROS DE TEXTO ... ¡Error! Marcador no definido.
7.1. Caracteristicas de un control TextBox ... ¡Error! Marcador no definido.
7.2. Propiedades y Eventos de un TextBox ... ¡Error! Marcador no definido.
7.3. Inicializando un control Textbox ... ¡Error! Marcador no definido.
7.4. Textbox con datos de otro Userform ... ¡Error! Marcador no definido.
7.5. Asignando orden o foco a los controles ... ¡Error! Marcador no definido.
7.6. TextBox para contraseñas ... ¡Error! Marcador no definido.
7.7. Funciones de validación y conversión ... ¡Error! Marcador no definido.
7.8. Cuándo validar datos de ingreso ... ¡Error! Marcador no definido.
7.9. Validar formatos fecha ... ¡Error! Marcador no definido.
7.10. Validar formatos fecha (ingreso sin separadores) ... ¡Error! Marcador no definido.
7.11. Convertir datos- Pasar datos a hoja ... ¡Error! Marcador no definido.
7.11.1. Seleccionar rangos con RefEdit ... ¡Error! Marcador no definido.
7.12. Limpieza de Textbox ... ¡Error! Marcador no definido.
8. Los objetos COMBOBOX y LISTBOX ... ¡Error! Marcador no definido.
8.1. Caracteristicas de los Combobox/ListBox... ¡Error! Marcador no definido.
8.2. Propiedades y Eventos de los Combobox y ListBox ... ¡Error! Marcador no definido.
8.3. Ejemplos de Principales propiedades de Combobox/ListBox ... ¡Error! Marcador no definido.
8.3.1. Asignar rango a un Combo o Lista ... ¡Error! Marcador no definido.
© <2017> Elsa M.Meyer (Elsamatilde) Página 4 8.3.2. Celda asociada al elemento seleccionado ... ¡Error! Marcador no definido.
8.3.3. Autocompletar datos en un control ... ¡Error! Marcador no definido.
8.3.4. Permitir el ingreso de datos que no están en la lista ... ¡Error! Marcador no definido.
8.3.5. Seleccionar varios registros de una lista (solo para LISTBOX) ... ¡Error! Marcador no definido.
8.3.6. Mover elementos desde un Listbox a un Textbox ... ¡Error! Marcador no definido.
8.4. Actualizar rango asociado a un Combobox/ListBox ... ¡Error! Marcador no definido.
8.4.1. Datos fijos ... ¡Error! Marcador no definido.
8.4.2. Datos variables – Rango dinámico ... ¡Error! Marcador no definido.
8.5. Llenar Combobox/Listbox de varias col ... ¡Error! Marcador no definido.
8.6. Listas o cuadros de varias columnas... ¡Error! Marcador no definido.
8.6.1. Cantidad de columnas ... ¡Error! Marcador no definido.
8.6.2. ¿Qué valor guardar o mostrar en controles de varias columnas? ... ¡Error! Marcador no definido.
8.6.3. Ancho de columnas ... ¡Error! Marcador no definido.
8.6.4. Títulos de columnas ... ¡Error! Marcador no definido.
8.7. Mostrar elemento seleccionado de lista ... ¡Error! Marcador no definido.
8.8. Seleccionar varios registros de un ListBox... ¡Error! Marcador no definido.
8.9. Quitar elementos de una lista ... ¡Error! Marcador no definido.
8.10. Reordenar elementos de una lista ... ¡Error! Marcador no definido.
8.11. Desplegar la lista de un Combobox ... ¡Error! Marcador no definido.
8.12. Contar elementos de una lista ... ¡Error! Marcador no definido.
8.13. Pasar datos de un Combobox o Lista a la hoja ... ¡Error! Marcador no definido.
8.14. Limpieza de Combobox/ListBox ... ¡Error! Marcador no definido.
9. El objeto FRAME O MARCO ... ¡Error! Marcador no definido.
9.1. Caracteristicas de un control Frame ... ¡Error! Marcador no definido.
9.2. Propiedades y Eventos de un control Frame ... ¡Error! Marcador no definido.
9.3. Agrandar un Frame a medida que se agregan datos ... ¡Error! Marcador no definido.
10. El objeto OPTIONBUTTON O BOTONES DE OPCIÓN ... ¡Error! Marcador no definido.
10.1. Caracterísitcas de los OptionButton ... ¡Error! Marcador no definido.
10.2. Propiedades y Eventos de los Optionbutton ... ¡Error! Marcador no definido.
10.3. Reconocer el OptionButton seleccionado ... ¡Error! Marcador no definido.
10.4. Ejecutar rutina al seleccionar un botón de opción ... ¡Error! Marcador no definido.
10.5. Limpieza de OptionButtons ... ¡Error! Marcador no definido.
11. El objeto CHECKBOX o CASILLAS DE VERIFICACIÓN ... ¡Error! Marcador no definido.
11.1. Caracteristicas de los Checkbox... ¡Error! Marcador no definido.
© <2017> Elsa M.Meyer (Elsamatilde) Página 5 11.2. Propiedades y Eventos de un CheckBox ... ¡Error! Marcador no definido.
11.3. Reconocer los CheckBox seleccionados ... ¡Error! Marcador no definido.
11.4. Código para selección de CheckBox ... ¡Error! Marcador no definido.
11.5. Atajo de teclado para tildar control (acelerator) ... ¡Error! Marcador no definido.
11.6. Limpieza de CheckBox ... ¡Error! Marcador no definido.
12. El objeto COMMANDBUTTON o BOTON DE COMANDO ... ¡Error! Marcador no definido.
12.1. Caracteristicas de un Botón de Comando ... ¡Error! Marcador no definido.
12.2. Propiedades y Eventos de los CommandButton ... ¡Error! Marcador no definido.
12.3. Ejemplos del uso de un Botón de Comando... ¡Error! Marcador no definido.
12.4. Botones con imágenes ... ¡Error! Marcador no definido.
13. FORMULARIOS EN HOJA EXCEL ... ¡Error! Marcador no definido.
13.1. Características de estos formularios ... ¡Error! Marcador no definido.
13.2. Usar solo celdas habilitadas ... ¡Error! Marcador no definido.
13.3. Cómo volcar datos a una hoja resumen ... ¡Error! Marcador no definido.
13.4. Cómo limpiar un formulario en hoja ... ¡Error! Marcador no definido.
13.5. Uso de fórmulas ... ¡Error! Marcador no definido.
13.6. Uso de celdas con validación ... ¡Error! Marcador no definido.
13.7. Programando controles ... ¡Error! Marcador no definido.
14. USERFORM DE APERTURA CON CONTRASEÑA ... ¡Error! Marcador no definido.
14.1. Ejemplo de Userform de ingreso ... ¡Error! Marcador no definido.
14.2. Asignando propiedades ... ¡Error! Marcador no definido.
14.3. Programando un Userform de ingreso ... ¡Error! Marcador no definido.
14.4. Llamando al Userform de ingreso ... ¡Error! Marcador no definido.
15. USERFORM CON VALORES INICIALES – USO DE COMBOBOX ... ¡Error! Marcador no definido.
15.1. Ejemplo de Userform con valores iniciales ... ¡Error! Marcador no definido.
15.2. Asignar valores de inicio a controles ... ¡Error! Marcador no definido.
15.3. Llamando al Userform con valores iniciales ... ¡Error! Marcador no definido.
16. USERFORM PARA INGRESO DE DATOS CON VALIDACIÓN ... ¡Error! Marcador no definido.
16.1. Diseño formulario con Validación ... ¡Error! Marcador no definido.
16.2. Vuelco de datos VALIDADOS O CONVERTIDOS, a hoja ... ¡Error! Marcador no definido.
17. USERFORM PARA ALTAS, BAJAS Y CAMBIOS A BASE DE DATOS ... ¡Error! Marcador no definido.
17.1. Formulario para Altas, Bajas y Modificaciones ... ¡Error! Marcador no definido.
17.2. Permitir ingreso de datos en Combobox ... ¡Error! Marcador no definido.
17.3. Botones para Altas, Bajas y Cambios ... ¡Error! Marcador no definido.
© <2017> Elsa M.Meyer (Elsamatilde) Página 6 17.4. Botones para navegar por la base ... ¡Error! Marcador no definido.
18. FORMULARIO MULTIPAGINA o ‘MULTIPAGE’ ... ¡Error! Marcador no definido.
18.1. Consideraciones en formularios Multipage ... ¡Error! Marcador no definido.
18.2. Propiedades de un Multipage y sus Pages ... ¡Error! Marcador no definido.
18.3. Eventos de un Multipage ... ¡Error! Marcador no definido.
18.4. Diseño de un formulario Multipage ... ¡Error! Marcador no definido.
18.5. Añadir, quitar o mover pestañas ... ¡Error! Marcador no definido.
18.6. Programando botones comunes ... ¡Error! Marcador no definido.
18.7. Programando botones de avance... ¡Error! Marcador no definido.
18.8. Multipage de colores ... ¡Error! Marcador no definido.
19. MODELO 6: FORMULARIO DE AYUDA ... ¡Error! Marcador no definido.
19.1. Diseño de un formulario de Ayuda ... ¡Error! Marcador no definido.
19.2. Configurando el formulario de Ayuda ... ¡Error! Marcador no definido.
19.3. Programando un formulario de Ayuda ... ¡Error! Marcador no definido.
20. CONTROLES ESPECIALES ... ¡Error! Marcador no definido.
20.1. CONTROL SPINBUTTON o Botón de nro ... ¡Error! Marcador no definido.
20.1.1. Propiedades y Eventos de un SpinButton ... ¡Error! Marcador no definido.
20.1.2. Ejemplo de código para un SpinButton ... ¡Error! Marcador no definido.
20.2. CONTROL SCROLLBAR o Barra de desplazamiento ... ¡Error! Marcador no definido.
20.2.1. Propiedades y Eventos de un ScrollBar ... ¡Error! Marcador no definido.
20.2.2. Ejemplo de código para un ScrollBar ... ¡Error! Marcador no definido.
20.3. CONTROL IMAGE o de Imagen ... ¡Error! Marcador no definido.
20.3.1. Propiedades y Eventos de un control Image ... ¡Error! Marcador no definido.
20.3.2. Ejemplo de código para un control Image ... ¡Error! Marcador no definido.
20.3.3. Control con Imagen animada ... ¡Error! Marcador no definido.
20.3.4. Gráficos- Tabla Dinámica –Tabla de datos como imagen ... ¡Error! Marcador no definido.
20.4. CONTROL REFEDIT ... ¡Error! Marcador no definido.
20.4.1. Propiedades y Eventos de un control RefEdit ... ¡Error! Marcador no definido.
20.4.2. Ejemplo de código para un control RefEdit ... ¡Error! Marcador no definido.
20.5. CONTROL TOGGLEBUTTON o Botón de alternar ... ¡Error! Marcador no definido.
20.5.1. Propiedades y Eventos de un contral ToggleButton ... ¡Error! Marcador no definido.
20.5.2. Ejemplo de código para un control ToggleButton ... ¡Error! Marcador no definido.
20.6. CONTROL TABSTRIP o Barra de tabulaciones ... ¡Error! Marcador no definido.
20.6.1. Propiedades y Eventos de un TablStrip ... ¡Error! Marcador no definido.
© <2017> Elsa M.Meyer (Elsamatilde) Página 7 20.6.2. Ejemplo de código para un control TabStrip ... ¡Error! Marcador no definido.
20.7. Los CONTROLES CALENDAR Y DATAPICKER ... ¡Error! Marcador no definido.
20.7.1. Propiedades y Eventos de controles DTPicker y Calendar ... ¡Error! Marcador no definido.
20.7.2. Ejemplos de código para controles Calendar y DTPicker: ... ¡Error! Marcador no definido.
21. PROPIEDADES DE LOS CONTROLES ... ¡Error! Marcador no definido.
21.1. Propiedades de USERFORM Y CONTROLES ... ¡Error! Marcador no definido.
© <2017> Elsa M.Meyer (Elsamatilde) Página 8 1. INTRODUCCIÓN
Al trabajar con Excel no podemos dejar de mencionar los ‘formularios’.
Estos pueden ser diseñados en la misma hoja (con formatos más o menos elaborados) o diseñados en los llamados Userforms, que son formularios que se ‘muestran’ por encima de las hojas.
Los usos más frecuentes, son:
- las aplicaciones comerciales (como Facturación, Cobranzas, Libro Compras), - aplicaciones contables (Contabilidad, LibroBancos, Inventarios, Gestión), - docentes o escolares (Gestor Docente, Cursos y Exámenes)
- y tantas otras tareas que requieren de un formato con diseño.
En este manual trabajaremos en formato de hoja y especialmente con Userforms.
Pero también trataremos el uso de otras ventanas de diálogo, las que nos informan del estado de algún proceso o nos solicitan el ingreso de algún dato, como son los MsgBox e InputBox.
Separaremos entonces los temas en:
1- Msgbox e Inputbox: propios de la aplicación Excel con los que podremos recibir información o introducirlas en algún proceso.
2- Hoja con diseño de formulario: en estos modelos trabajamos directamente sobre la hoja Excel. Se utilizan generalmente celdas con funciones, con validación de datos y/o controles dibujados para el ingreso de datos.
3- Userforms: son los formularios creados por el usuario, desde el Editor de Macros.
También se pueden encontrar en versiones anteriores de Excel las llamadas Hojas de Diálogo similares a cualquier hoja Excel al momento de agregar controles y similares a un Userform al momento de ejecutarlos.
Actualmente se utilizan solo los Userforms por lo que no nos detendremos en este tipo de formularios.
Nota: En los libros adjuntos se encuentran todos los ejemplos explicados en este manual, listos para usar.
Aprenderemos las características de cada uno de ellos y además:
a- Cuándo utilizarlos y cómo diseñarlos.
b- Ventajas y desventajas de cada uno de los métodos empleados: celdas con funciones, con validación, con controles, con Userforms.
c- Uso de Controles. Sus Propiedades y Eventos.
d- Distintos tipos de Userforms.
Recomendación para el estudio de este manual: trabajar con un libro propio e ir repitiendo los pasos y luego comparar con el modelo del libro Ejemplos_Userforms.
Otros recursos para el estudio del tema:
1- Utilizar el buscador: para encontrar un tema en particular tal como se muestra en la imagen :
© <2017> Elsa M.Meyer (Elsamatilde) Página 9 2- Utilizar los modelos entregados en los libros de ejemplos.
Cuando el tema lo menciona, observar los ejemplos en los libros Excel que se entregan con este manual.
3- Observar los tips y las notas para distintas versiones Excel.
Cuando existen diferencias entre distintas versiones de Excel, aparecerá una nota o comentario.
4- Seguir los vínculos a temas complementarios.
Observar vínculos a otros capítulos que amplían o completan el tema tratado.
A CONTINUACIÓN EL DESARROLLO DEL CAPÍTULO 4: USO DE CONTROLES
© <2017> Elsa M.Meyer (Elsamatilde) Página 10 4. USO DE CONTROLES
Los CONTROLES son los objetos que dibujamos en un formulario, ya sea en hoja de cálculo o en un Userform.
Los utilizamos para mostrar información o avisos, ingresar datos, seleccionar opciones y/o ejecutar acciones programadas.
Pueden estar programados como en los ejemplos siguientes o ser utilizados solamente para mostrar algun texto o aviso.
Ejemplo 1: botones de comando en hoja, para ejecutar las distintas tareas de esta aplicación.
Ejemplo 2: controles en un Userform:
4.1. TIPOS DE CONTROLES
Etiqueta (Label): Un control Label en un formulario muestra un texto descriptivo como títulos, leyendas, imágenes o breves instrucciones. Utilizaremos este control cuando la información no requiere ser modificada por el usuario.
Cuadro o campo de Texto (Textbox): Un control TextBox es el control utilizado para recibir y mostrar
información escrita por un usuario. También aquí podemos mostrar un conjunto de datos como una tabla, una consulta, una hoja de cálculo o el resultado de un cálculo
© <2017> Elsa M.Meyer (Elsamatilde) Página 11 Cuadro de lista (Listbox): Muestra una lista de valores y le permite al usuario seleccionar uno o varios
elementos de la misma.
Cuadro combinado (Combobox): Combina las características 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.
La lista en un control ComboBox está formada por filas de datos. Cada fila puede tener una o más columnas, las cuales pueden mostrarse con o sin títulos.
Cuadro de grupo (Frame): Crea un grupo de controles visuales y funcionales. Podemos utilizar el control Frame para crear un grupo de opciones.
Los botones de opción al encontrarse dentro de un Frame se cancelan unos a otros. Es el ejemplo de la imagen, al seleccionar PDF se cancela la opción Excel.
También podemos utilizar un control Frame para agrupar controles con contenidos estrechamente relacionados. En la siguiente imagen se observan varios Frames con controles relacionados.
Botones de opción (OptionButton): Muestra el estado de selección de un elemento en un grupo de opciones.
Utilizaremos un control OptionButton para mostrar la selección de un único elemento de un grupo. Cada control OptionButton de un control Frame es mutuamente exclusivo.
Casilla de verificación (CheckBox): Utilizaremos un control CheckBox para ofrecer al usuario la posibilidad de elegir entre dos o más posibles
valores. También podemos utilizar casillas de verificación dentro de un cuadro de grupo para seleccionar uno o más elementos relacionados de un grupo.
Botón de comando (CommandButton): Inicia, finaliza o interrumpe una acción o una serie de acciones. Son los controles utilizados para indicar las acciones como 'Aceptar', 'Cancelar', 'Salir', etc.
La macro o el procedimiento de evento asignado al evento Click del control CommandButton determina qué hace el control CommandButton
4.2. COMO COLOCAR CONTROLES EN UNA HOJA EXCEL
Para agregar Controles a un formulario en hoja contamos con 2 barras:
Cuadro de Controles (Activex ) y Barra Formularios
Estas barras se acceden desde la ficha Programador (o Desarrollador), Controles.
© <2017> Elsa M.Meyer (Elsamatilde) Página 12 Para modificar algunos aspectos de un
control hay que pasar al Modo Diseño.
Nota: Para eliminar un control dibujado en hoja, seleccionarlo con clic derecho y optar por ‘Cortar’ o Supr. Si no se selecciona, se trata de un control ActiveX y se debe pasar previamente al modo diseño para poder suprimirlo (ver imagen siguiente).
En los temas siguientes trataremos cada barra por separado.
4.3. BARRA ACTIVEX
Estos controles, también llamados Controles ActiveX son los más 'programables'.
A continuación veremos cómo trabajar con ellos en una hoja Excel.
Pasos a seguir:
Seleccionar desde la barra el control deseado y dibujarlo en la hoja.
Pasar a Modo Diseño. Con clic derecho sobre el control, podemos observar entre sus opciones, las siguientes:
1 - Propiedades: aquí se configura el texto del control, colores, fuente del texto, y otras propiedades según de qué control se trate.
Nota: como las propiedades de los controles ActiveX son comunes a las de los controles en Userforms, se detallan en el cap.22 y cada control en particular a partir del cap 6.
2 - Ver código: nos lleva al Editor de Macros, para escribir las instrucciones necesarias para el control dibujado.
De forma predeterminada, el Editor nos mostrará las 2 líneas (inicio y fin) de la rutina. Por ej:
Private Sub TextBox1_Change() End Sub
Importante: Las rutinas de estos objetos se colocan en el Editor, en el objeto HOJA donde se ha dibujado el control.
© <2017> Elsa M.Meyer (Elsamatilde) Página 13 3 –Objeto ……: un modo rápido para cambiar el texto o contenido del control, sin recurrir a las Propiedades.
4 – Agrupar: esta opción nos permite agrupar varios controles y así trabajarlo como 1 solo.
Es útil cuando tenemos que moverlos y ubicarlos de modo conjunto.
5 – Ordenar: nos permite colocar distintos objetos en distintas capas, enviándolos detrás o delante de otros.
6 - Formato de control: aquí nos interesan las siguientes pestañas:
Proteger: manteniendo el control 'bloqueado' se evitará su modificación una vez que la hoja se encuentre protegida.
Propiedades: tal como lo muestra la imagen, desde aquí se puede permitir la impresión o no del objeto y decidir si el objeto podrá moverse y cambiar su tamaño con las celdas.
Nota: En capítulos siguientes veremos cómo se programa este tipo de controles.
4.4. BARRA FORMULARIOS
Para agregar controles con esta barra, estos son los pasos a seguir:
Seleccionar desde la barra el control deseado y dibujarlo en la hoja.
Según de qué control se trate, se activará la siguiente ventana que nos permitirá asociar una rutina al control (seleccionándola de la lista). Si deseamos escribir una nueva macro para este control cambiaremos el nombre que aparece de modo predeterminado y presionaremos el botón ‘Nuevo’.
Esto nos llevará a un módulo del Editor y allí escribiremos las instrucciones necesarias.
El botón Grabar activará la grabadora de macros, tal como lo hacíamos desde el menú Herramientas, Macros o con el actual botón de Grabar que aparece en la barra de Estado.
© <2017> Elsa M.Meyer (Elsamatilde) Página 14 Si se trata de un botón que se utilizará solo para dejar alguna indicación o mensaje y no estará programado, presionamos el botón Cancelar.
Nota: las rutinas para estos objetos se colocan en un módulo del Editor.
Al hacer clic derecho sobre el control, la opción Formato de control, a diferencia de los controles ActiveX, presenta una pestaña más, llamada Control.
Desde aquí podemos establecer los siguientes parámetros:
1-la celda vinculada con el control, tarea que en los controles ActiveX se configura desde la ventana Propiedades, LinkedCell. Es decir en qué celda se guardará el valor o estado del control.
2-rango de entrada (tratándose de listas o combos), lo que en controles ActiveX se configura desde la ventana Propiedades, ListFillRange.
3- Líneas de unión verticales: (para los combos). Indica la cantidad de líneas que se muestran al desplegar el control.
Nota: a partir del cap.7 veremos otras propiedades de los controles.
4.5. CÓMO RECONOCER SI SE TRATA DE UN CONTROL ‘ACTIVEX’ O DE ‘FORMULARIO’?
En ocasiones no podemos distinguir a simple vista de qué tipo de control se trata, si de un control Activex o de un control Formulario.
Veamos algunas diferencias.
1 - No se puede seleccionar o hacer clic derecho sobre un control Activex, salvo que se encuentre en Modo Diseño.
Es decir que si hacemos clic derecho sobre un control y 'nada sucede' es que se trata de un control Activex. Si en cambio se activan los controladores, mostrando además un menú desplegable, se ha utilizado la barra Formulario.
© <2017> Elsa M.Meyer (Elsamatilde) Página 15 2-Al hacer clic derecho sobre un control Formulario, en la barra de nombres (delante de la barra de funciones), aparece el nombre y nro del control con que Excel identifica ese objeto (Lista desplegable1, Cuadro de Lista2, etc - ver imagen anterior)
En cambio si se trata de un control Activex los nombres son los mismos utilizados en los Userforms: TextBox, ComboBox, etc.
3 – Al hacer clic derecho la opción 'Asignar macro' nos identifica que se trata de un control dibujado con la barra Formulario, en cambio si se trata de un control Activex aparecerá la opción Ver código.
4- Los controles de la barra Formulario, no permiten cambios en cuanto al aspecto (color, bordes, imagen).
Esto solo es posible con los controles ActiveX.
4.6. CONOCER RUTINA ASOCIADA A UN CONTROL
Como vimos en el tema anterior, al clic derecho de un control Formulario, aparecerá en un menú desplegable la opción 'Asignar Macro'.
Activando esta opción, la ventana que se nos ofrece nos indica además el nombre del objeto.
En cambio si utilizamos un control ActiveX, estando en Modo Diseño, clic derecho sobre el control, la opción es: Ver código.
Esto nos llevará al objeto HOJA donde está dibujado este control, mostrando el inicio de una rutina.
Podemos utilizar ese evento predeterminado o buscar el más apropiado.
© <2017> Elsa M.Meyer (Elsamatilde) Página 16 Imágenes de algunos de los temas y modelos desarrollados en el manual:
MsgBox personalizados:
Formulario solicitando contraseña de ingreso:
Uso de Combos y Listas:
Uso de botones con imágenes
© <2017> Elsa M.Meyer (Elsamatilde) Página 17 Formulario de Ingreso
---FIN DE LA DEMO DEL MANUAL ---