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í
Objetivo: Desarrollar un ejercicio completo donde se permita el ingreso de datos en una tabla en Microsoft® Excel empleando Visual Basic para Aplicaciones.
Primer paso: Predefinir los requisitos (campos)
La aplicación corresponde al registro y actualización de una tabla que contiene información sobre las personas que ingresan y salen de una edificación.
La tabla debe contener los siguientes campos:
Nombre(s) y Apellidos
Tipo de documento de identidad
Número del documento
Fecha
Hora entrada
Hora salida
Estado (adentro o afuera): En caso de no registrar hora de salida, el estado será adentro, de lo contrario el estado será afuera.
Segundo paso: Diseño del formulario principal
Diseñe el siguiente formulario desde la consola de Microsoft® Excel Visual Basic para Aplicaciones, basado en los campos mencionados en el paso anterior.
Tercer paso: Programación preliminar del formulario
Antes de pasar a la programación de los botones del formulario, debemos programar el ComboBox1 (control de listado), para que muestre las opciones: C.C., C.E. y T.I. (Cédula de Ciudadanía, Cédula de Extranjería y Tarjeta de Identidad). Haga doble click en el formulario y en la ventana de código seleccione el procedimiento ACTIVATE. Escriba el siguiente código (en color rojo):
Private Sub UserForm_Activate()
ComboBox1.Clear
ComboBox1.AddItem ("C.C.")
ComboBox1.AddItem ("C.E.")
ComboBox1.AddItem ("T.I.")
End Sub
El código borra primero el contenido del COMBOBOX1 y luego agrega las tres opciones disponibles (esto ocurre cuando se activa la ventana).
Cuarto paso: Activar el formulario desde la hoja de cálculo
Desde la hoja de Microsoft® Excel donde se encuentra la tabla creada en el paso 1, agregué un botón justo al lado de la tabla (Control Active X) llamado FORMULARIO, como se observa en la siguiente ilustració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 y verifique el COMBOBOX1 muestre las opciones programadas en el paso anterior.
Quinto paso: Programar el ingreso de datos
Regrese nuevamente al formulario en Visual Basic y haga doble click en el botón ACTUALIZAR. Ingrese el siguiente código.
Private Sub CommandButton2_Click()
For I = 1 To 100
If Cells(I + 2, 2).Value = "" Then
Cells(I + 2, 2).Value = I
Cells(I + 2, 3).Value = TextBox1.Text
Cells(I + 2, 4).Value = TextBox2.Text
Cells(I + 2, 5).Value = ComboBox1.Text
Cells(I + 2, 6).Value = TextBox3.Text
Cells(I + 2, 7).Value = TextBox4.Text
Cells(I + 2, 8).Value = TextBox5.Text
Cells(I + 2, 9).Value = TextBox6.Text
If TextBox6.Text = "" Then
Cells(I + 2, 10).Value = "Adentro"
Else
Cells(I + 2, 10).Value = "Afuera"
End If
Exit For
End If
Next
End Sub
En código se detalla el envío de datos desde los controles dispuestos en el formulario a las respectivas celdas ubicadas en Excel.
Sexto paso: Programar el botón Borrar
En este caso se optará por un botón para borrar solo los campos de textos del formulario. Haga doble click en el botón BORRAR e ingrese el siguiente código.
Private Sub CommandButton3_Click()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
ComboBox1.Text = ""
End Sub
Séptimo paso: Programar el botón Buscar
Este botón realizará una búsqueda en la tabla hasta encontrar un número de identificación coincidente. Antes de realizar la programación, modifique el formulario, para que quede como el que se muestra a continuación:
Haga doble click en el botón BUSCAR y agregue el siguiente código.
Private Sub CommandButton1_Click()
For I = 1 To 100
If TextBox7.Text = Cells(I + 2, 6).Value Then
TextBox1.Text = Cells(I + 2, 3).Value
TextBox2.Text = Cells(I + 2, 4).Value
ComboBox1.Text = Cells(I + 2, 5).Value
TextBox3.Text = Cells(I + 2, 6).Value
TextBox4.Text = Cells(I + 2, 7).Value
TextBox5.Text = Cells(I + 2, 8).Value
TextBox6.Text = Cells(I + 2, 9).Value
Exit For
End If
Next
End Sub
En el código se muestra un ciclo FOR que abarca 100 registros (para I igual a 1 hasta 100), con un condicional inicial que busca la coincidencia entre el texto del TEXTBOX7 y la celda cuyo contenido es el número de identificación.
Una vez lograda la coincidencia, se extraen los datos del registro y se trasladan a los correspondientes campos ubicados en el formulario de BUSQUEDA, finalizando el ciclo con la función EXIT FOR.
Realice una prueba completa de la aplicación, ingresando algunos registros y luego ubicándolos con el formulario de BUSQUEDA.