BIBLIOTECA VIRTUAL de Derecho, Economía y Ciencias Sociales

DESARROLLO DE APLICACIONES EN MICROSOFT® EXCEL

Juan Carlos Vergara Schmalbach y Víctor Manuel Quesada Ibargüen




Esta página muestra parte del texto pero sin formato.

Puede bajarse el libro completo en PDF comprimido ZIP (162 páginas, 1.85 Mb) pulsando aquí

5. CREACIÓN DE VENTANAS EMPLEANDO VISUAL BASIC PARA APLICACIONES

Objetivo: Desarrollar un ejercicio básico que muestre los enlaces entre las ventanas (o formularios) diseñados en Visual Basic for Application (VBA) y Microsoft® Excel.

Primer paso: Diseño del formulario

En este ejemplo se diseñará un formulario sencillo para demostrar el uso de los controles y su enlace con una hoja de cálculo. Para ello cree un USERFORM en VBA e inserte los siguientes controles:

3 ETIQUETAS

1 CUADRO DE TEXTO

1 CUADRO COMBINADO

1 CASILLA DE VERIFICACIÓN

2 BOTONES DE OPCIÓN

1 IMAGEN

1 BOTÓN DE COMANDO

Pulse sobre el USERFORM1 y cambie el texto del título de la ventana a “INTERFAZ DE PRUEBA” modificando la propiedad CAPTION. Cambie el color de fondo a un azul claro mediante la propiedad BACKCOLOR.

Cambie la propiedad CAPTION de las etiquetas LABEL1, 2 y 3 a “NOMBRE”, “CIUDAD ORIGEN” y “DESTINO”, respectivamente. Modifique el color de las etiquetas al mismo color de fondo de la ventana con la propiedad BACKCOLOR. Active la opción NEGRITA de la propiedad FONT.

Limite el número de caracteres del CUADRO DE TEXTO a 20 con la propiedad MAXLENGTH. Para los BOTONES DE OPCIÓN (OPTIONBUTTON 1 y 2) cambie el valor de la propiedad CAPTION a “NACIONAL” e “INTERNACIONAL”. Cambie el color de los dos controles a azul claro.

En el control IMAGEN seleccione una figura que represente un avión o un viaje, empleando la propiedad PICTURE. Seleccione la opción 1 (FMPICTURESIZEMODESTRETCH) de la propiedad PICTURESIZEMODE. Para finalizar el diseño de la ventana, modifique también la propiedad CAPTION de la CASILLA DE VERIFICACIÓN y el BOTÓN DE COMANDO a “VIAJE DE TURISMO” y “ACEPTAR”, respectivamente. Cambie el color de la CASILLA DE VERIFICACIÓN a azul claro.

Segundo paso: Programación del CUADRO COMBINADO (COMBOBOX)

El COMBOBOX1 que se encuentra en la ventana deberá ser programado. En este caso se desea mostrar un listado corto de ciudades (Cartagena, Barranquilla y Santa Marta).

Para realizar este paso haga doble click en el formulario y en la ventana de código seleccione el evento ACTIVATE. Escriba el siguiente código (en color rojo):

Private Sub UserForm_Activate()

ComboBox1.Clear

ComboBox1.AddItem ("CARTAGENA")

ComboBox1.AddItem ("BARRANQUILLA")

ComboBox1.AddItem ("SANTA MARTA")

End Sub

El código borra primero el contenido del COMBOBOX1 y luego agregue las tres opciones disponibles (esto ocurre cuando se activa la ventana).

Tercer paso: Activar el formulario desde la hoja de cálculo

Desde la hoja de MS® Excel agregué un BOTÓN DE COMANDO tipo CONTROL ACTIVEX con el texto FORMULARIO en la propiedad CAPTION, como se puede observar en la siguiente ilustración (ajuste la propiedad FONT para resaltar el texto del botón).

Haga doble click en el botón y agregue el siguiente código:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Pruebe el botón, desactivando antes el botón MODO DISEÑO de la ficha PROGRAMADOR y verifique que el COMBOBOX1 muestre las opciones programadas en el paso anterior.

Cuarto paso: Traslado de los datos del formulario a la hoja de cálculo

Antes de programar el traslado de datos entre el formulario y la hoja de cálculo, cree la siguiente tabla en la hoja donde se encuentra el BOTÓN DE COMANDO.

Regrese nuevamente al formulario en Visual Basic y haga doble click en el botón ACEPTAR. Ingrese el siguiente código.

Private Sub CommandButton2_Click()

Cells(9, 6).Value = TextBox1.Text

Cells(9, 11).Value = ComboBox1.Text

If OptionButton1.Value = True Then

Cells(10, 6).Value = "NACIONAL"

Else

Cells(10, 6).Value = "INTERNACIONAL"

End If

If CheckBox1.Value = True Then

Cells(10, 11).Value = "SI"

Else

Cells(10, 11).Value = "NO"

End If

UserForm1.Hide

End Sub

A continuación se explicará el código anterior en detalle.

Cells(9, 6).Value = TextBox1.Text

Permite trasladar el texto contenido en el TEXTBOX1 a la celda correspondiente a la fila 9 y columna número 6 (F9).

Cells(9, 11).Value = ComboBox1.Text

Igual que en el caso anterior, se trastada el texto actual del COMBOBOX1 a la celda K9.

If OptionButton1.Value = True Then

Cells(10, 6).Value = "NACIONAL"

Else

Cells(10, 6).Value = "INTERNACIONAL"

End If

Este fragmento de código representa un condicional donde se pregunta si el primer OPTIONBUTTON1 se encuentra seleccionado (VALUE = TRUE). En este caso se mostrará en la celda F10 el texto “NACIONAL” y en caso contrario el texto “INTERNACIONAL”. Observe que el condicional IF THEN ELSE debe finalizar con el comando END IF.

If CheckBox1.Value = True Then

Cells(10, 11).Value = "SI"

Else

Cells(10, 11).Value = "NO"

End If

Nuevamente se emplea el condicional IF THEN ELSE para evaluar si el CHECKBOX1 se encuentra marcado. Si esto ocurre (VALUE = TRUE) se muestra el texto “SI”, en caso contrario se muestra “NO”.

UserForm1.Hide

Esta última línea de código oculta la ventana. Pulse el BOTÓN DE COMANDO de la hoja de cálculo y pruebe el formulario completo.

Quinto paso: Protección de celdas y hojas

Seleccione las celdas en las cuales el usuario ingresará los datos y pulse con el botón derecho del mouse para desplegar la ventana FORMATO DE CELDAS. Una vez desplegada la ventana, diríjase a la ficha PROTEGER y desactive la opción BLOQUEADA. Luego, en el menú REVISAR, pulse sobre el botón PROTEGER HOJA y desmarque la opción SELECCIONAR CELDAS BLOQUEADAS. Desmarque también la opción TÍTULOS que se encuentra en la ficha VISTA.

Realice una prueba final de la aplicación donde ingrese información al libro de Excel a través del formulario.


Grupo EUMEDNET de la Universidad de Málaga Mensajes cristianos

Venta, Reparación y Liberación de Teléfonos Móviles
Enciclopedia Virtual
Biblioteca Virtual
Servicios