Formularios y Controles en Visual Basic para Excel
Formularios y Controles en Visual Basic para Excel
Formularios y Controles en Visual Basic para Excel
OBJETIVOS
Crear Formularios
Insertar Controles
Editar algunas Propiedades
Programación de Formularios
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.
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
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.
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.
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]
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
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, 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:
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:
Y modificamos las propiedades de cada elemento dejando los controles de la
siguiente forma:
Damos doble Clic al botón de Insertar y escribimos el siguiente codigo:
Luego damos doble clic en UserForm1 de la ventana de Proyecto y nos lleva al
Formulario nuevamente.
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.
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.
Podemos agregar una macro para ejecutar el formulario desde un botón con el
siguiente código:
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.
Por lo tanto podemos hacer operaciones en nuestra hoja directamente
Insertemos este código a nuestro Ejemplo
Ejecutamos y vemos como se hace la operación y se inserta el valor en la celda
de Total.
Ejercicios
Diseñe un formulario para insertar datos en la tabla del archivo ventas.xls
de su escritorio