Aplicaciones en Excel Avanzado VBA PDF
Aplicaciones en Excel Avanzado VBA PDF
Aplicaciones en Excel Avanzado VBA PDF
Excel.
Primer paso: Diseo del formulario
En este ejemplo se disear un formulario sencillo para demostrar el uso de
los controles y su enlace con una hoja de clculo. Para ello cree un
USERFORMen VBA e inserte los siguientes controles:
3 ETIQUETAS
1 CUADRO DE TEXTO
1 CUADRO COMBINADO
1 CASILLA DE VERIFICACIN
2 BOTONES DE OPCIN
1 IMAGEN
1 BOTN DE COMANDO
Organcelos en la ventana como se muestra a continuacin:
Ilustracin 95. Esquema del formulario para el ejercicio 5
Elkin Nieves
Pulse sobre el USERFORM1 y cambie el texto del ttulo de la ventana a
INTERFAZ DE PRUEBA modificando la propiedad CAPTION. Cambie el
color de fondo a un azul claro mediante la propiedad BACKCOLOR.
Ilustracin 96. Cambio de color de la ventana
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 opcin NEGRITA de la propiedad
FONT.
Ilustracin 97. Modificacin de la propiedad caption de las etiquetas
Elkin Nieves
Limite el nmero de caracteres del CUADRO DE TEXTO a 20 con la
propiedad MAXLENGTH. Para los BOTONES DE OPCIN
(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.
Ilustracin 98. Modificacin de la propiedad caption de los botones de opcin
En el control IMAGEN seleccione una figura que represente un avin o un
viaje, empleando la propiedad PICTURE. Seleccione la opcin 1
(FMPICTURESIZEMODESTRETCH) de la propiedad PICTURESIZEMODE.
Para finalizar el diseo de la ventana, modifique tambin la propiedad
CAPTION de la CASILLA DE VERIFICACIN y el BOTN DE COMANDO
a VIAJE DE TURISMO y ACEPTAR, respectivamente. Cambie el color
de la CASILLA DE VERIFICACINa azul claro.
Ilustracin 99. Diseo final del formulario para el ejercicio 5
Elkin Nieves
Segundo paso: Programacin 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
cdigo seleccione el evento ACTIVATE. Escriba el siguiente cdigo (en
color rojo):
Ilustracin 100. Programacin de controles ComboBox
Private Sub UserForm_Activate()
ComboBox1.Clear
ComboBox1.AddItem ("CARTAGENA")
ComboBox1.AddItem ("BARRANQUILLA")
ComboBox1.AddItem ("SANTA MARTA")
End Sub
Evento
ACTIVATE
El cdigo 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 clculo
Desde la hoja de Microsoft
Excel Visual
Basic para Aplicaciones, basado en los campos mencionados en el paso
anterior.
Ilustracin 105. Diseo del formulario para el ingreso de datos
Tercer paso: Programacin preliminar del formulario
Antes de pasar a la programacin de los botones del formulario, debemos
programar el ComboBox1 (control de listado), para que muestre las
opciones: C.C., C.E. y T.I. (Cdula de Ciudadana, Cdula de Extranjera y
Tarjeta de Identidad). Haga doble click en el formulario y en la ventana de
cdigo seleccione el procedimiento ACTIVATE. Escriba el siguiente cdigo
(en color rojo):
Private Sub UserForm_Activate()
ComboBox1.Clear
ComboBox1.AddItem ("C.C.")
ComboBox1.AddItem ("C.E.")
ComboBox1.AddItem ("T.I.")
End Sub
El cdigo 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 clculo
Desde la hoja de Microsoft
Visual Basic
for Application; los campos se refieren a la informacin bsica del
estudiante.
Ilustracin 109. Diseo del formulario para el ejercicio 7
Cambie la MAXLENGTH propiedad de cada TEXTBOX (Cuadro de Texto)
para que admita el nmero mximo de caracteres descrito en el paso
anterior. Por ejemplo, el TEXTBOX1 corresponde al nombre, por tanto la
propiedad del MAXLENGTH debe quedar como se muestra en la siguiente
ilustracin.
Ilustracin 110. Propiedad Maxlength de los controles textbox
Tercer paso: Programacin preliminar del formulario para el ingreso de
un estudiante
Antes de pasar a la programacin del botn INGRESAR del formulario,
debemos programar el COMBOBOX1 (control de listado), para que muestre
los diferentes programas disponibles: Administracin Industrial, Contadura
Pblica, Administracin de Empresas y Economa. Haga doble click en el
formulario y en la ventana de cdigo seleccione el procedimiento
ACTIVATE. Escriba el siguiente cdigo (en color rojo):
Private Sub UserForm_Activate()
ComboBox1.Clear
ComboBox1.AddItem ("Administracin Industrial")
ComboBox1.AddItem ("Contadura Pblica")
ComboBox1.AddItem ("Administracin de Empresas")
ComboBox1.AddItem ("Economa")
End Sub
El comando CLEAR borra primero el contenido del COMBOBOX1 y luego,
mediante el comando ADDITEM, se agregan las opciones disponibles (esto
acurre cuando se activa la ventana).
Cuarto paso: Activar el formulario desde la hoja de clculo
Desde la hoja de Microsoft
EXCEL
Inserte la siguiente rutina para programar el botn BORRAR.
Private Sub CommandButton2_Click()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
End Sub
Cuarto paso: Activar el formulario desde la hoja de clculo
Desde la hoja de Microsoft
EXCEL
- Valor Total
- Subtotal
- Descuento
- IVA
- Total
Ilustracin 122. Esquema general de una factura para el ejercicio 8
Sexto paso: Formulario para el registro de una factura
Disee un nuevo formulario (USERFOM2) que contenga los campos
mencionados en el paso anterior, exceptuando el consecutivo.
Ilustracin 123. Formulario para el registro de facturas
Antes de pasar a programar cada botn, bloque los TEXTBOX
correspondientes a PRODUCTO y PRECIO (ya que estos son el resultado
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
del registro de productos). Para realizar el bloqueo de un componente,
deber seleccionarlo y colocar la opcin de la propiedad ENABLED en
FALSE.
Ilustracin 124. Propiedad Enabled de un control TextBox
Limite la longitud mxima aceptada para el nombre del cliente modificando
la propiedad MAXLENGTHen 20.
Ilustracin 125. Propiedad Maxlehgth de un control TextBox
Sptimo paso: Activar el formulario desde la hoja de clculo
Regrese a la hoja de Microsoft
EXCEL
Ilustracin 126. Botn para la activacin del formulario de registro de facturas
Incluya el siguiente cdigo en la programacin del botn.
Private Sub CommandButton1_Click()
UserForm2.Show
End Sub
Octavo paso: Programacin de los botones del formulario
Cada botn denominado OK del formulario USERFORM2, tendr la funcin
de buscar el CDIGO digitado en la base de datos de registro de productos.
Si el cdigo es localizado, se mostrarn en los TEXTBOX correspondientes,
la informacin sobre el NOMBRE del producto y su PRECIO. Por ejemplo,
la programacin para el primer botn es:
Private Sub CommandButton1_Click()
For I = 1 To 100
If TextBox3.Text = Sheets("Configurar").Cells(I + 2, 2) .Value Then
TextBox4.Text = Sheets("Configurar").Cells(I + 2, 3) .Value
TextBox5.Text = Sheets("Configurar").Cells(I + 2, 4) .Value
Exit For
End If
Next
End Sub
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Para el Segundo y tercer botn el cdigo ser:
Private Sub CommandButton2_Click()
For I = 1 To 100
If TextBox7.Text = Sheets("Configurar").Cells(I + 2, 2) .Value Then
TextBox8.Text = Sheets("Configurar").Cells(I + 2, 3) .Value
TextBox9.Text = Sheets("Configurar").Cells(I + 2, 4) .Value
Exit For
End If
Next
End Sub
Private Sub CommandButton3_Click()
For I = 1 To 100
If TextBox11.Text = Sheets("Configurar").Cells(I + 2, 2).Value Then
TextBox12.Text = Sheets("Configurar").Cells(I + 2, 3).Value
TextBox13.Text = Sheets("Configurar").Cells(I + 2, 4) .Value
Exit For
End If
Next
End Sub
Contine con la programacin de los botones 4 y 5, manteniendo la
secuencia de los TEXTBOX. Una vez que el usuario haya digitado la
informacin a facturar, deber pulsar en el botn INGRESAR, cuya funcin
es la de trasladar los datos del formulario a la hoja de clculo. La
programacin del botn se muestra a continuacin.
Private Sub CommandButton6_Click()
Cells(9, 3).Value = TextBox1.Text
Cells(10, 3).Value = TextBox2.Text
Cells(13, 2).Value = TextBox3.Text
Cells(13, 3).Value = TextBox4.Text
Cells(13, 4).Value = TextBox5.Text
Cells(13, 5).Value = TextBox6.Text
Cells(14, 2).Value = TextBox7.Text
Cells(14, 3).Value = TextBox8.Text
Cells(14, 4).Value = TextBox9.Text
Cells(14, 5).Value = TextBox10.Text
Cells(15, 2).Value = TextBox11.Text
Cells(15, 3).Value = TextBox12.Text
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Cells(15, 4).Value = TextBox13.Text
Cells(15, 5).Value = TextBox14.Text
Cells(16, 2).Value = TextBox15.Text
Cells(16, 3).Value = TextBox16.Text
Cells(16, 4).Value = TextBox17.Text
Cells(16, 5).Value = TextBox18.Text
Cells(17, 2).Value = TextBox19.Text
Cells(17, 3).Value = TextBox20.Text
Cells(17, 4).Value = TextBox21.Text
Cells(17, 5).Value = TextBox22.Text
Cells(2, 4).Value = Cells(2, 4).Value + 1
End Sub
Observe que la ltima lnea de cdigo ingresado incrementa el valor del
CONSECUTIVOde la factura en 1.
Noveno paso: Frmulas para el clculo de los campos resultado en la
Factura
Ingrese las frmulas para el clculo del valor total por artculo, subtotal,
descuento, IVA y total. Coloque un descuento del 10% e IVA del 16%.
Ilustracin 127. Frmulas para determinar el Valor Total, Subtotal, Descuento, Iva y Total
Decimo paso: Tabla resumen
Disee una tabla en la hoja REGISTRO para el ingreso de los totales por
factura que incluya los siguientes campos:
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
- Factura (equivalente al consecutivo de la factura)
- Total
Ilustracin 128. Tabla de resumen de facturas
Undcimo paso: Botn para completar el registro de facturas
Desde la hoja REGISTRO agregu un nuevo botn justo al lado de la tabla
(Tipo Control Active X) llamado ALMACENAR, como se observa en la
siguiente ilustracin.
Ilustracin 129. Botn para el almacenaje de facturas en Microsoft Excel
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Digite el siguiente cdigo:
Private Sub CommandButton2_Click()
For I = 1 To 100
If Sheets("Registro").Cells(I + 2, 2).Value = "" Then
Sheets("Registro").Cells(I + 2, 2).Value = Cells(2, 4).Value
Sheets("Registro").Cells(I + 2, 3).Value = Cells(22, 6).Value
Range("B13:E17").Select
Selection.ClearContents
Exit For
End If
Next
End Sub
Un aspecto nuevo para el lector es el comando RANGE( ).SELECT y
SELECTION.CLEARCONTENTS. El primero permite seleccionar un rango
de celdas, mientras que el segundo comando, permite borrar las celdas
anteriormente seleccionadas.
Para probar el funcionamiento de la aplicacin realice un ejercicio completo,
iniciando con el registro de varios productos.
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
DISEO DE UN LISTN TELEFNICO
Objetivo: Desarrollar un ejercicio para el diseo de un LISTN
TELEFNICO con las funciones bsicas para el ingreso, bsqueda, edicin,
eliminacin e impresin de registros.
Primer paso: Diseo de la plantilla
Inicie este ejemplo con un documento en blanco en Microsoft Excel y
disee una tabla que contenga los siguientes campos:
- Nmero (No.)
- Nombre(s) (Mximo 20 caracteres)
- Apellidos (Mximo 20 caracteres)
- Telfono 1
- Telfono 2
- E-mail
Incluya dos botones (Tipo Control Active X) llamados REGISTRO e
IMPRESIN. Un ejemplo de la plantilla podra ser como se observa en la
siguiente ilustracin.
Ilustracin 130. Esquema general en Microsoft Excel para el registro de un listn telefnico
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
En este caso, se eliminaron las lneas de divisin y encabezados,
desmarcando la opcin VER que se encuentra en la ficha DISEO DE
PGINA en Office 2007 o en la ficha VISTA para Office 2010.
Ilustracin 131. Opcin para visualizar las lneas de divisin y encabezados en Microsoft Excel 2010
Adems, se utiliz la opcin de inmovilizacin de paneles para fijar el
encabezado, botones y campos de la tabla.
Ilustracin 132. Opcin inmovilizar paneles en Microsoft Excel
Segundo paso: Diseo del formulario
Disee un formulario que contenga los campos mencionados en el paso
anterior y agregue los botones INGRESAR, BUSCAR, EDITAR y
ELIMINAR (ver la ilustracin).
Ilustracin 133. Formulario para el ingreso de datos en el Listn Telefnico
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Modifique la propiedad MAXLENGTH de los TEXTBOX 1 y 2 para que
admitan solo 20 caracteres. Haga doble click en el botn INGRESAR e
incluya la siguiente rutina
Private Sub CommandButton1_Click()
For I = 1 To 100
If Cells(I + 10, 2).Value = "" Then
Cells(I + 10, 2).Value = I
Cells(I + 10, 3).Value = TextBox1.Text
Cells(I + 10, 4).Value = TextBox2.Text
Cells(I + 10, 5).Value = TextBox3.Text
Cells(I + 10, 6).Value = TextBox4.Text
Cells(I + 10, 7).Value = TextBox5.Text
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
Exit For
End If
Next
End Sub
Observe que una vez ingresados los datos de la persona, se borrarn los
TEXTBOX de forma automtica (esto se logra empleando la lnea de cdigo
TEXTBOX#.TEXT = ). Programe ahora el botn BUSCAR digitando la
siguiente rutina. Esta secuencia indica una bsqueda por NOMBRE(S) de la
persona.
Private Sub CommandButton2_Click()
For I = 1 To 100
If Cells(I + 10, 3).Value = TextBox1.Text Then
TextBox2.Text = Cells(I + 10, 4).Value
TextBox3.Text = Cells(I + 10, 5).Value
TextBox4.Text = Cells(I + 10, 6).Value
TextBox5.Text = Cells(I + 10, 7).Value
Exit For
End If
Next
End Sub
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
El botn EDITAR tiene la funcin de actualizar un cambio efectuado en los
datos de la persona. La limitacin de la actualizacin de los datos radica en
que el campo NOMBRE (base de la bsqueda) no podr ser modificado.
Private Sub CommandButton3_Click()
For I = 1 To 100
If Cells(I + 10, 3).Value = TextBox1.Text Then
Cells(I + 10, 4).Value = TextBox2.Text
Cells(I + 10, 5).Value = TextBox3.Text
Cells(I + 10, 6).Value = TextBox4.Text
Cells(I + 10, 7).Value = TextBox5.Text
Exit For
End If
Next
End Sub
En el botn ELIMINAR incluiremos una nueva rutina para eliminar una fila
donde se encuentre un registro y restablecer el consecutivo de las filas.
Private Sub CommandButton4_Click()
For I = 1 To 100
If Cells(I + 10, 3).Value = TextBox1.Text Then
Cells(I + 10, 3).Select
Selection.EntireRow.Delete
Exit For
End If
Next
For I = 1 To 100
If Cells(I + 10, 2).Value <> "" Then
Cells(I + 10, 2).Value = I
End If
Next
End Sub
El primer ciclo PARA, detecta la coincidencia del nombre de la persona la
cual se desea borrar del listn, y mediante el cdigo
SELECTION.ENTIREROW.DELETE se elimina la fila completa. El segundo
ciclo, actualiza el consecutivo (No.) de cada registro, buscando aquellas
celdas que no estn vacas (CELLS(I +10, 2).VALUE <>"") y actualizando
su valor con la variable contadora I del ciclo PARA (este ciclo no incluye el
comando EXIT FOR SALIR DEL CICLO PARA).
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Tercer paso: Activar el formulario desde la hoja de clculo
Regrese a la hoja de clculo y haga doble click en el botn REGISTRO e
ingrese el siguiente cdigo.
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
Realice una prueba rpida sobre el funcionamiento de cada botn del
formulario.
Cuarto paso: Opcin de impresin de la plantilla
Para poder imprimir una hoja de clculo en Microsoft
Excel, incluya el
siguiente cdigo en el botn IMPRIMIR.
Private Sub CommandButton2_Click()
ActiveSheet.PrintOut
End Sub
Antes de imprimir una hoja, ajuste las opciones de impresin y visualizacin.
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
DISEO DE UNA APLICACIN PARA EL
CONTROL DE VOTACIONES
Objetivo: Desarrollar una aplicacin para el CONTROL DE VOTACIONES,
empleando Visual Basic para Aplicaciones.
Primer paso: Diseo de la portada de la aplicacin
Disee una portada distintiva relacionada con una campaa de elecciones.
Incluya un botn denominado INICIAR mediante un hipervnculo que dirija al
usuario a una hoja llamada REGISTRO.
Ilustracin 134. Portada para el ejercicio 10
En este caso, se eliminaron las lneas de divisin y encabezados,
desmarcando la opcin VER que se encuentra en la ficha DISEO DE
PGINA en Office 2007 o en la ficha VISTA para Office 2010.
Ilustracin 135. Opcin para visualizar las lneas de divisin y encabezados en Microsoft Excel 2010
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Segundo paso: Diseo de la plantilla para el registro de sufragios por
mesas
Cree una tabla que contenga los siguientes campos:
- Nmero (No.)
- Nombre(s) (Mximo 20 caracteres)
- Apellidos (Mximo 20 caracteres)
- Cdula
Adems, se incluirn dos botones denominados INGRESAR INSCRITO y
BUSCAR. A diferencia de otros ejercicios de entregas anteriores, no se
disear un formulario para realizar la bsqueda. En vez de esta opcin, se
colocarn los campos de bsqueda y resultados en el mismo formulario. La
bsqueda se realizar por el nmero de CDULA, mostrando el(los)
NOMBRE(S) y APELLIDOS en caso tal de que exista una coincidencia. Un
ejemplo del diseo de la hoja podra ser como el que se muestra en la
siguiente ilustracin.
Ilustracin 136. Plantilla para el registro de sufragantes
Tercer paso: Diseo del formulario principal para el ingreso de
inscritos
Disee un formulario que contenga los campos sobre los datos personales
de los inscritos e incluya un botn llamado INGRESAR, para efectuar el
enlace entre el formulario y la hoja de clculo (ver ilustracin). Cambie la
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
opcin BACKCOLOR de los objetos y formulario para agregarle un poco
ms de vistosidad a la aplicacin.
Ilustracin 137. Formulario para el registro de sufragantes
Modifique la opcin MAXLENGTH de los TEXTBOX 1 y 2 para que admita
un mximo de 20 caracteres. Haga doble click en el botn INGRESAR e
incluya la siguiente rutina
Private Sub CommandButton1_Click()
For I = 1 To 200
If Cells(I + 9, 5).Value = TextBox3.Text Then
MsgBox ("LA PERSONA YA SE ENCUENTRA REGISTRADA")
Exit For
Else
If Cells(I + 9, 2).Value = "" Then
Cells(I + 9, 2).Value = I
Cells(I + 9, 3).Value = TextBox1.Text
Cells(I + 9, 4).Value = TextBox2.Text
Cells(I + 9, 5).Value = TextBox3.Text
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
Exit For
End If
End If
Next
End Sub
Entre las adiciones novedosas para el estudiante, se incluy un condicional
inicial en el ciclo FOR (IF THEN ELSE), cuya funcin es la de buscar si
existe un registro de un usuario que coincida con el nmero de CDULA.
Si esto ocurre, se enviar un mensaje de error empleando el comando
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
MSGBOX (recuerde que la cdula se ubica en el ejemplo en la columna
nmero 5 de la hoja de clculo y en el TEXTBOX3 del formulario), saliendo
del ciclo mediante el uso del comando EXIT FOR.
Si no se encuentra una coincidencia en el nmero de la CDULA, se
proceder a trasladar los valores del formulario a la hoja de clculo.
Observe que una vez ingresados los datos de la persona, se borrarn los
TEXTBOX de forma automtica (esto se logra empleando la lnea de cdigo
TEXTBOX#.TEXT =).
Cuarto paso: Activar el formulario desde la hoja de clculo
Regrese a la hoja de clculo y haga doble click en el botn INGRESAR
INSCRITO y escriba el siguiente cdigo.
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
Realice una prueba rpida sobre el funcionamiento del formulario.
Quinto paso: Programacin de la opcin de bsqueda de inscritos
Ingrese el siguiente cdigo para programar el botn BUSCAR que esta
ubicado en la hoja.
Private Sub CommandButton2_Click()
For I = 1 To 200
If Cells(18, 8).Value = Cells(I + 9, 5).Value Then
Cells(23, 8).Value = Cells(I + 9, 3).Value
Cells(24, 8).Value = Cells(I + 9, 4).Value
Exit For
End If
Next
End Sub
Ntese que el llamado que hace el comando CELLS(18,8).VALUE equivale
al valor de la celda donde se escribe la CDULA que va a ser buscada.
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Ilustracin 138. Referencia de celda de la celda de Busqueda
COLUMNA8
FILA 18
Sexto paso: Plantilla para el registro de las votaciones
Luego de programar el registro de inscritos a la jornada electoral, se
proceder a la creacin de una plantilla (en una hoja llamada MESAS) para
el registro de los votos de aquellas personas que reposan en el listado
anterior. Para este ejercicio se tomarn los siguientes supuestos:
- Cuatro aspirantes a un mismo cargo
- Una mesa de votacin
- Solo se podr votar una vez
- Se debe elegir a un solo candidato de los cuatro aspirantes
- Puede votar aquel que se haya inscrito previamente
Para cumplir con estos requisitos, la plantilla debe contar con los siguientes
campos:
- Consecutivo (No.)
- Votantes (equivalente a la cdula de la persona que ejerce el voto)
- Candidato 1 (Acumulado de votos a favor del candidato 1)
- Candidato 2 (Acumulado de votos a favor del candidato 2)
- Candidato 3 (Acumulado de votos a favor del candidato 3)
- Candidato 4 (Acumulado de votos a favor del candidato 4)
- Total (el resultado de la suma de todos los votos)
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Incluya imgenes que representen los candidatos, un botn denominado
VOTAR, una grfica resumen y el nmero de la mesa. Puede disear la
plantilla de forma parecida a la que se muestra en la siguiente ilustracin.
Ilustracin 139. Plantilla para el registro de las votaciones
Ingrese la funcin SUMA para calcular el nmero total de los votos. Rellene
los votos por candidato con valores de cero.
Ilustracin 140. Tabla resumen de votos por candidato
Sptimo paso: Formulario para el registro de los votos
El primer paso para crear el formulario basado en los requisitos definidos en
el paso anterior, se debe agregar un campo denominado CDULA DEL
VOTANTE junto a un botn con la funcin de ACTIVAR. Luego coloque un
control IMAGE para representar la opcin de voto con la imagen del
candidato (ver ilustracin).
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Ilustracin 141. Diseo del formulario para el registro de votos
Haga doble click en la propiedad PICTURE para desplegar una ventana y
poder seleccionar la imagen del candidato.
Ilustracin 142. Propiedad Picture para insertar imgenes en un formulario
Modifique la propiedad PICTURESIZEMODE a 1
FMPICTURESIZEMODESTRETCH para poder mostrar la imagen completa
en el recuadro del control.
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Ilustracin 143. Opciones disponibles para la propiedad PictureSizeMode
Realice los pasos anteriores para agregar las imgenes de los dems
candidatos. Acompae cada imagen con su correspondiente etiqueta de
texto que los identifican. En la siguiente ilustracin se puede observar la
ventana completa.
Ilustracin 144. Diseo final del formulario para el registro de votaciones
Para evitar un voto no autorizado, cambie la propiedad ENABLEDa FALSE
para cada uno de los controles tipo IMAGE.
Octavo paso: Activar el formulario desde la hoja de clculo
Regrese a la hoja de clculo y haga doble click en el botn REGISTRO e
ingrese el siguiente cdigo.
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Private Sub CommandButton1_Click()
UserForm2.Show
End Sub
Noveno paso: Programacin del registro de votaciones
Haga doble click en el botn ACTIVAR del USERFORM2 e ingrese el
siguiente cdigo.
Private Sub CommandButton1_Click()
Registrado = "NO"
For I = 1 To 200
If TextBox1.Text = Sheets("Registro").Cells(I + 9, 5).Value Then
MsgBox ("EL USUARIO SE ENCUENTRA REGISTRADO. PUEDE
REALIZAR LA VOTACIN")
Registrado = "SI"
Image1.Enabled = True
Image2.Enabled = True
Image3.Enabled = True
Image4.Enabled = True
Exit For
End If
Next
If Registrado = "NO" Then
MsgBox ("EL USUARIO NO SE ENCUENTRA REGISTRADO.
USTED NO PUEDE VOTAR")
End If
End Sub
La primera parte del cdigo crea una variable llamada REGISTRO cuyo
valor es NO. Esto indica que de forma predeterminada el votante no est
registrado. Luego se inicia un ciclo que busca el nmero de cdula en la
hoja REGISTRO. En caso de que exista una coincidencia, aparecer un
mensaje EL USUARIO SE ENCUENTRA REGISTRADO. PUEDE
REALIZAR LA VOTACIN, cambiando el valor de la variable registro a SI y
activando cada control IMAGE.
En caso de que no exista una coincidencia, se muestra el mensaje EL
USUARIO NO SE ENCUENTRA REGISTRADO. USTED NO PUEDE
VOTAR. Ahora que estn activados los controles IMAGE, proceda a pulsar
doble click en el primero de ellos e ingrese el siguiente cdigo.
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Private Sub Image1_Click()
Voto = "NO"
For I = 1 To 200
If TextBox1.Text = Cells(I + 2, 14).Value Then
MsgBox ("EL USUARIO YA VOT")
Voto = "SI"
Exit For
End If
Next
If Voto = "NO" Then
For I = 1 To 200
If Cells(I + 2, 13).Value = "" Then
Cells(13, 7).Value = Cells(13, 7).Value + 1
Cells(I + 2, 13).Value = I
Cells(I + 2, 14).Value = TextBox1.Text
Image1.Enabled = False
Image2.Enabled = False
Image3.Enabled = False
Image4.Enabled = False
UserForm2.Hide
Exit For
End If
Next
End If
End Sub
Este cdigo comienza con la definicin de la variable VOTO con un valor
predeterminado igual a NO. Luego se realiza una bsqueda para
determinar si la persona ha votado con anterioridad (esto evita que un
usuario registrado vote ms de una veces). En caso de acierto el valor de la
variable VOTO cambia a SI.
El cdigo contina, en el caso de que la variable mantenga el valor NO,
sumando un voto al candidato 1, actualizando el registro de votacin y luego
desactivando los controles IMAGE preparando el ingreso de un nuevo
votante. Haga doble click en el control IMAGE2 e ingrese el siguiente
cdigo.
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Private Sub Image2_Click()
Voto = "NO"
For I = 1 To 200
If TextBox1.Text = Cells(I + 2, 14).Value Then
MsgBox ("EL USUARIO YA VOT")
Voto = "SI"
Exit For
End If
Next
If Voto = "NO" Then
For I = 1 To 200
If Cells(I + 2, 13).Value = "" Then
Cells(14, 7).Value = Cells(14, 7).Value + 1
Cells(I + 2, 13).Value = I
Cells(I + 2, 14).Value = TextBox1.Text
Image1.Enabled = False
Image2.Enabled = False
Image3.Enabled = False
Image4.Enabled = False
UserForm2.Hide
Exit For
End If
Next
End If
End Sub
Esta rutina cambia solo en la lnea de cdigo CELLS(14, 7).VALUE =
CELLS(14, 7).VALUE +1, donde la fila se incrementa en 1 para coincidir
con el conteo de votos del candidato 2. Gener las rutinas para el resto de
componentes IMAGE (3 y 4).
Dcimo paso: Prueba de la aplicacin
Realice la siguiente prueba sobre la aplicacin
1. Ingrese los siguientes usuarios en la lista de inscritos
Pedro Prez Ortiz Cdula: 102049391
Julio Lpez Romero Cdula: 102049203
.
2. Ingrese la siguiente persona
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Jaime Varela Ramrez Cdula: 102049203
En este paso se debera generar el mensaje de coincidencia de la cdula
3. Modifique el nmero de cdula de la persona, para poder registrarla
en la base de datos
Jaime Varela Ramrez Cdula: 102047727
4. Pulse en el botn VOTAR de la hoja MESAS, digite la cdula
102041110 y pulse en el botn ACTIVAR.
Debe aparecer una ventana de aviso de que la persona se encuentra
inscrita y da el paso a la votacin.
5. Elija el candidato 2
La cdula aparece en listado anexo de votantes y la votacin del candidato
2 es de 1.
6. Pulse en el botn VOTAR de la hoja MESAS, digite la cdula
102041880 y pulse en el botn ACTIVAR.
Debe salir un mensaje donde informa que el usuario no est inscrito.
7. Pulse en el botn VOTAR de la hoja MESAS, digite la cdula
102041110 y pulse en el botn ACTIVAR.
Debe aparecer una ventana de aviso de que la persona se encuentra
inscrita y da el paso a la votacin.
8. Elija el candidato 3
La aplicacin debe mostrar un mensaje indicando que la persona ya ha
votado.
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
DISEO DE UNA APLICACIN PARA
GESTIONAR UN CENTRO DE MASCOTAS
Objetivo: Desarrollar un ejercicio para disear la aplicacin ESCUELA DE
MASCOTAS, como herramienta de apoyo para la gestin de una
microempresa encargada del adiestramiento de perros domsticos.
Primer paso: Diseo de la portada de la aplicacin
Disee una portada relacionada con la razn social de la empresa. Agregue
imgenes alusivas al adestramiento de mascotas. Incluya un botn
denominado CONTINUAR con un hipervnculo que dirija al usuario a una
hoja de nombre FACTURAR.
Ilustracin 145. Portada propuesta para el ejercicio 11
En este caso, se eliminaron las lneas de divisin y encabezados,
desmarcando la opcin VER que se encuentra en la ficha DISEO DE
PGINA en Office 2007 o en la ficha VISTA para Office 2010.
.
Ilustracin 146. Opcin para visualizar las lneas de divisin y encabezados en Microsoft Excel 2010
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Proteja la hoja, desmarcando la opcin SELECCIONAR CELDAS
BLOQUEADAS, con el fin de evitar daos involuntarios en la portada.
Ilustracin 147. Proteccin de la hoja portada para el ejercicio 11
Segundo paso: Diseo de la plantilla para la facturacin
La aplicacin contendr 4 hojas: PORTADA, FACTURAR,
ENTRENAMIENTO y REGISTRO. Antes de pasar al diseo de las tres
ltimas hojas, procederemos a crear un men en comn que permita el
desplazamiento entre hojas. Inicie insertando tres botones, agregando un
hipervnculo respectivo para cada hoja.
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Ilustracin 148. Esquema general de la aplicacin
Seleccione toda la hoja, y copie su contenido para luego pegarlo en las
hojas restantes. Elimine las lneas de divisin y encabezados, desmarcando
la opcin VER que se encuentra en la ficha DISEO DE PGINA en Office
2007 o en la ficha VISTA para Office 2010.
En la hoja FACTURAR, disee una tabla que contenga los siguientes
campos:
- Nombre Mascota (mximo 20 caracteres)
- Cdigo
- Actividades Realizadas
- Fecha
- Valor Actividad
- Subtotal
- IVA
- Valor Total
- Estado
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Ilustracin 149. Plantilla de facturacin para el ejercicio 11
Selecciones las celdas de contenido de los campos (puede ayudarse con la
tecla CONTROL para seleccionar celdas no consecutivas) y pulsando con el
botn derecho del mouse sobre ellas, desmarque la opcin BLOQUEADA
que se encuentra en FORMATO DE CELDAS ficha PROTEGER.
Ilustracin 150. Bloqueo y desbloqueo de celdas
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Agregue las frmulas necesarias para calcular el SUBTOTAL, IVA
(equivalente al 16% del SUBTOTAL) y VALOR TOTAL. En el valor del
campo ESTADO, escriba SIN CANCELAR.
Ilustracin 151. Frmulas para los campos Subtotal, IVA y Valor Total.
Tercer paso: Diseo del formulario de Facturacin
Disee un formulario que contenga los campos descritos en el paso anterior
como se puede observar en la siguiente ilustracin.
Ilustracin 152. Formulario para el registro de facturas
Proteja los TEXTBOX correspondientes a NOMBRE MASCOTA,
ACTIVIDADES REALIZADAS, FECHA y VALOR, modificando la opcin
ENABLED a FALSE. Haga doble click en el botn ACEPTAR y escriba el
siguiente cdigo. La funcin de este botn es trasladar los datos del
USERFORM1a la hoja de clculo.
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Private Sub CommandButton2_Click()
Cells(3, 6).Value = TextBox1.Text
Cells(3, 12).Value = TextBox2.Text
Cells(6, 5).Value = TextBox3.Text
Cells(6, 8).Value = TextBox4.Text
Cells(6, 9).Value = TextBox5.Text
Cells(7, 5).Value = TextBox6.Text
Cells(7, 8).Value = TextBox7.Text
Cells(7, 9).Value = TextBox8.Text
Cells(8, 5).Value = TextBox9.Text
Cells(8, 8).Value = TextBox10.Text
Cells(8, 9).Value = TextBox11.Text
Cells(9, 5).Value = TextBox12.Text
Cells(9, 8).Value = TextBox13.Text
Cells(9, 9).Value = TextBox14.Text
Cells(14, 9).Value = Label6.Caption
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
TextBox11.Text = ""
TextBox12.Text = ""
TextBox13.Text = ""
TextBox14.Text = ""
Label6.Caption ="SIN CANCELAR"
End Sub
Ntese que se traslada el valor del CAPTION del componente LABEL6.
Ms adelante se incluir el cdigo del botn BUSCAR. Bloquearemos
momentneamente el botn ACEPTAR en el momento que se active la
ventana. Para cumplir con esta tarea deber hacer doble click en la
ventana (USERFORM1), seleccionando el PROCEDIMIENTO ACTIVATE e
ingresando el siguiente cdigo.
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Private Sub UserForm_Activate()
CommandButton2.Enabled = False
End Sub
Cuarto paso: Activar el formulario desde la hoja de clculo
Regrese a la hoja de clculo y haga doble click en el botn FACTURAR (ver
ilustracin) y escriba el siguiente cdigo.
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
Ilustracin 153. Botn para activar el formulario de registro de facturas
Proteja la hoja desde la ficha REVISAR, desmarcando la opcin
SELECCIONAR CELDAS BLOQUEADAS.
Ilustracin 154. Proteccin de la hoja facturar para el ejercicio 11
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Quinto paso: Plantilla y formularios para el registro de entrenamientos
Disee una tabla en la hoja ENTRENAMIENTOque contenga los siguientes
campos:
- Cdigo
- Nombre Mascota (mximo 20 caracteres)
- Actividades 1
- Fecha 1
- Actividades 2
- Fecha 2
- Actividades 3
- Fecha 3
- Actividades 4
- Fecha 5
Ilustracin 155. Diseo de la tabla para el registro de actividades por mascota
Dirjase a la consola de Visual Basic y disee el siguiente formulario
(USERFORM2).
Ilustracin 156. Formulario para el registro de entrenamientos
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
En esta ventana se incluyeron 4 COMBOBOX para identificar las
actividades. La programacin de estos elementos se realizar al final del
documento. Proteja el TEXTBOX correspondiente a NOMBRE MASCOTA
modificando la opcin ENABLED a FALSE. Haga doble click en el botn
ACTUALIZAR y escriba el siguiente cdigo. La funcin de este botn es
trasladar o actualizar unos datos existentes del USERFORM2 a la hoja de
clculo.
Private Sub CommandButton3_Click()
ESCRITO = "NO"
If TextBox2.Text <> "" And TextBox1.Text <> "" And TextBox3 <> "" Then
ESCRITO = "SI"
Else
MsgBox ("DEBE DE ESCRIBIR POR LO MENOS UNA ACTIVIDAD")
End If
ENCONTRADO = "NO"
For I = 1 To 100
If TextBox2.Text = Cells(I + 2, 5).Value Then
ENCONTRADO= "SI"
Exit For
End If
Next
If ENCONTRADO = "NO" And ESCRITO = "SI" Then
For I = 1 To 100
If Cells(I + 2, 5).Value = "" Then
Cells(I + 2, 5).Value = TextBox2.Text
Cells(I + 2, 6).Value = TextBox1.Text
Cells(I + 2, 7).Value = ComboBox1.Text
Cells(I + 2, 8).Value = TextBox3.Text
Cells(I + 2, 9).Value = ComboBox2.Text
Cells(I + 2, 10).Value = TextBox4.Text
Cells(I + 2, 11).Value = ComboBox3.Text
Cells(I + 2, 12).Value = TextBox5.Text
Cells(I + 2, 13).Value = ComboBox4.Text
Cells(I + 2, 14).Value = TextBox6.Text
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
TextBox6.Text = ""
ComboBox1.Text = ""
ComboBox2.Text = ""
ComboBox3.Text = ""
ComboBox4.Text = ""
Exit For
End If
Next
End If
If ENCONTRADO = "SI" And ESCRITO = "SI" Then
For I = 1 To 100
If TextBox2.Text = Cells(I + 2, 5).Value Then
Cells(I + 2, 5).Value = TextBox2.Text
Cells(I + 2, 6).Value = TextBox1.Text
Cells(I + 2, 7).Value = ComboBox1.Text
Cells(I + 2, 8).Value = TextBox3.Text
Cells(I + 2, 9).Value = ComboBox2.Text
Cells(I + 2, 10).Value = TextBox4.Text
Cells(I + 2, 11).Value = ComboBox3.Text
Cells(I + 2, 12).Value = TextBox5.Text
Cells(I + 2, 13).Value = ComboBox4.Text
Cells(I + 2, 14).Value = TextBox6.Text
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
ComboBox1.Text = ""
ComboBox2.Text = ""
ComboBox3.Text = ""
ComboBox4.Text = ""
Exit For
End If
Next
End If
End Sub
Observe que en el cdigo se declaran dos variables: ESCRITO y
ENCONTRADO. La primera cambia su valor a SI siempre y cuando, exista
un texto escrito en los TEXTBOX 1, 2 y 3. Esto evita que el usuario realice
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
una modificacin en la tabla sin haber escrito nada en el USERFORM. La
segunda variable torna su valor SI en el momento en que se encuentre una
coincidencia entre el campo CDIGO (TEXTBOX2) del USERFORM2 y la
celda de la tabla correspondiente a dicho CDIGO. La rutina contina con
dos condicionales:
- IF ENCONTRADO ="NO" AND ESCRITO ="SI" THEN ->> En caso
de que los valores de las variables ENCONTRADO y ESCRITO sean
NO y SI respectivamente, se proceder a agregar un nuevo registro.
- IF ENCONTRADO ="SI" AND ESCRITO ="SI" THEN ->> En caso
de que ambos valores de las variables sean SI, se proceder a
actualizar un registro existente.
Antes de pasar a programar el botn BORRAR, adicionaremos un nuevo
USERFORM (USERFOM3) para validar la eliminacin de un registro con
una CONTRASEA. Disee el formulario de acuerdo a la siguiente
ilustracin. Modifique las propiedades MAXLENGTH y PASSWORDCHAR
del TEXTBOX1en 4 y * respectivamente.
Ilustracin 157. Propiedades MaxLength y PasswordChar del control TextBox
Regrese al formulario anterior (USERFORM2) y haga doble click en el botn
BORRAR, agregando el siguiente cdigo
Private Sub CommandButton2_Click()
UserForm3.Show
End Sub
Bloquearemos momentneamente el botn BORRAR y ACTUALIZAR en el
momento que se active la ventana. Para cumplir con esta tarea deber
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
hacer doble click en la ventana (USERFORM2), seleccionando el
PROCEDIMIENTOACTIVATE e ingresando el siguiente cdigo.
Private Sub UserForm_Activate()
CommandButton2.Enabled = False
CommandButton3.Enabled = False
End Sub
Visualice el USERFORM3, y programe el cdigo para el botn BORRAR.
Private Sub CommandButton1_Click()
If TextBox1 <> "1234" Then
MsgBox ("LA CONTRASEA NO ES CORRECTA")
Else
For I = 1 To 100
If UserForm2.TextBox2.Text = Cells(I + 2, 5).Value Then
Range(Cells(I + 2, 5), Cells(I + 2, 14)).Select
Selection.ClearContents
Range(Cells(I + 3, 5), Cells(102, 14)).Select
Selection.Cut
Cells(I + 2, 5).Select
ActiveSheet.Paste
Exit For
End If
Next
End If
End Sub
Inserte un botn en la hoja (ENTRENAMIENTO) denominado REGISTRAR
y escriba el siguiente cdigo en l.
Private Sub CommandButton1_Click()
UserForm2.Show
End Sub
No se le olvide desbloquear las celdas correspondientes a los registros de la
tabla (seleccione un todas las filas de la tabla para desbloquearlas, en
caso contrario el programa producir un error) y proteger la hoja
desmarcando la opcin SELECCIONAR CELDAS BLOQUEADAS. El
resultado final debera verse como en la siguiente ilustracin.
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Ilustracin 158. Botn para activar el formulario de registro de entrenamientos
Sexto paso: Plantilla y formularios para el registro de mascotas y
actividades de entrenamiento
Disee dos tablas en la hoja REGISTRO correspondientes al registro de
mascotas y actividades de entrenamiento. Incluya los siguientes campos
como puede observarse en la siguiente ilustracin:
- Cdigo
- Nombre Mascota (mximo 20 caracteres)
- Estado
- Actividad (se aceptan mximo 4 actividades de mximo 10
caracteres)
- Valor
Ilustracin 159. Diseo de la tabla para el registro de mascotas
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Disee y programe el formulario (USERFORM4) para la primera tabla.
Ilustracin 160. Formulario para el registro de mascotas
Registre el siguiente cdigo en el botn INGRESAR.
Private Sub CommandButton2_Click()
REGISTRADO = "NO"
For I = 1 To 100
If TextBox2.Text = Cells(I + 2, 5).Value Then
MsgBox ("LA MASCOTA YA ESTA REGISTRADA")
REGISTRADO = "SI"
Exit For
End If
Next
If REGISTRADO = "NO" Then
For I = 1 To 100
If Cells(I + 2, 5).Value = "" Then
Cells(I + 2, 5).Value = TextBox2.Text
Cells(I + 2, 6).Value = TextBox1.Text
Cells(I + 2, 7).Value = "SIN CANCELAR"
TextBox1.Text = ""
TextBox2.Text = ""
Exit For
End If
Next
End If
End Sub
Registre el cdigo en el botn BORRAR.
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Private Sub CommandButton2_Click()
For I = 1 To 100
If TextBox2.Text = Cells(I + 2, 5).Value Then
Range(Cells(I + 2, 5), Cells(I + 2, 7)).Select
Selection.ClearContents
Range(Cells(I + 3, 5), Cells(102, 7)).Select
Selection.Cut
Cells(I + 2, 5).Select
ActiveSheet.Paste
Exit For
End If
Next
End Sub
Disee y programe el formulario (USERFORM5) para el registro de las
actividades de entrenamiento.
Ilustracin 161. Formulario para el registro de actividades
Ingrese el cdigo en botn REGISTRAR.
Private Sub CommandButton2_Click()
REGISTRADO = "NO"
For I = 1 To 4
If Cells(I + 2, 9).Value = TextBox1.Text Then
REGISTRADO= "SI"
Cells(I + 2, 9).Value = TextBox1.Text
Cells(I + 2, 10).Value = TextBox2.Text
TextBox1.Text =
TextBox2.Text =
Exit For
End If
Next
If REGISTRADO = "NO" Then
For I = 1 To 4
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
If Cells(I + 2, 9).Value = "" Then
REGISTRADO= "SI"
Cells(I + 2, 9).Value = TextBox1.Text
Cells(I + 2, 10).Value = TextBox2.Text
TextBox1.Text =
TextBox2.Text =
Exit For
End If
Next
End If
End Sub
La rutina anterior permite ingresar o actualizar el registro de una actividad,
gracias a la variable REGISTRADO. Agregue dos botones en la hoja
REGISTRO llamados REG. MASCOTA y REG. ACTIVIDAD con los
siguientes cdigos respectivos:
Private Sub CommandButton1_Click()
UserForm4.Show
End Sub
Private Sub CommandButton1_Click()
UserForm5.Show
End Sub
Desbloquee las celdas correspondientes a los registros de ambas tablas
(seleccione un todas las filas de las tablas para desbloquearlas, en caso
contrario el programa producir un error) y proteja la hoja desde la ficha
REVISAR, desmarcando la opcin SELECCIONAR CELDAS
BLOQUEADAS.
Ilustracin 162. Proteccin de la hoja registro para el ejercicio 11
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Elimine las lneas de divisin y encabezados, desmarcando la opcin VER
que se encuentra en la ficha DISEO DE PGINA en Office 2007 o en la
ficha VISTA para Office 2010 (esto debe realizarlo a todas las hojas del
libro).
Ilustracin 163. Opcin para visualizar las lneas de divisin y encabezados en Microsoft Excel 2010
Sptimo paso: Programacin de los COMBOBOX del formulario
USERFOM2(REGISTRODE ENTRENAMIENTOS)
Haga doble click en la ventana (USERFORM2), seleccionando el
PROCEDIMIENTO ACTIVATE y adicione el siguiente cdigo (se encuentra
en color azul).
Private Sub UserForm_Activate()
CommandButton2.Enabled = False
CommandButton3.Enabled = False
ComboBox1.Clear
ComboBox1.AddItem (Sheets("REGISTRO").Cells(3, 9).Value)
ComboBox1.AddItem (Sheets("REGISTRO").Cells(4, 9).Value)
ComboBox1.AddItem (Sheets("REGISTRO").Cells(5, 9).Value)
ComboBox1.AddItem (Sheets("REGISTRO").Cells(6, 9).Value)
ComboBox2.Clear
ComboBox2.AddItem (Sheets("REGISTRO").Cells(3, 9).Value)
ComboBox2.AddItem (Sheets("REGISTRO").Cells(4, 9).Value)
ComboBox2.AddItem (Sheets("REGISTRO").Cells(5, 9).Value)
ComboBox2.AddItem (Sheets("REGISTRO").Cells(6, 9).Value)
ComboBox3.Clear
ComboBox3.AddItem (Sheets("REGISTRO").Cells(3, 9).Value)
ComboBox3.AddItem (Sheets("REGISTRO").Cells(4, 9).Value)
ComboBox3.AddItem (Sheets("REGISTRO").Cells(5, 9).Value)
ComboBox3.AddItem (Sheets("REGISTRO").Cells(6, 9).Value)
ComboBox4.Clear
ComboBox4.AddItem (Sheets("REGISTRO").Cells(3, 9).Value)
ComboBox4.AddItem (Sheets("REGISTRO").Cells(4, 9).Value)
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
ComboBox4.AddItem (Sheets("REGISTRO").Cells(5, 9).Value)
ComboBox4.AddItem (Sheets("REGISTRO").Cells(6, 9).Value)
End Sub
Con esta rutina incluiremos las actividades de entrenamiento en la hoja
REGISTRO en cada COMBOBOX, facilitando su seleccin por parte del
usuario. Realice una prueba del formulario.
Octavo paso: Programacin de los botones denominados BUSCAR
Para finalizar, se programarn los botones BUSCAR de los USERFORM 1
y 2. Haga doble click en el botn BUSCAR del primer USERFORM e
incluya el cdigo:
Private Sub CommandButton1_Click()
ACIERTO = "NO"
For I = 1 To 100
If TextBox2.Text = Sheets("REGISTRO").Cells(I + 2, 5).Value And
TextBox2.Text <> "" Then
ACIERTO = "SI"
TextBox1.Text = Sheets("REGISTRO").Cells(I + 2, 6).Value
Label6.Caption = Sheets("REGISTRO").Cells(I + 2, 7).Value
CommandButton2.Enabled = True
Exit For
End If
Next
If ACIERTO = "NO" Then
MsgBox ("LA MASCOTA NO SE ENCUENTRA REGISTRADA")
End If
If ACIERTO = "SI" Then
For I = 1 To 100
If TextBox2.Text = Sheets("ENTRENAMIENTO").Cells(I + 2, 5).Value Then
TextBox3.Text = Sheets("ENTRENAMIENTO").Cells(I + 2, 7).Value
TextBox4.Text = Sheets("ENTRENAMIENTO").Cells(I + 2, 8).Value
TextBox6.Text = Sheets("ENTRENAMIENTO").Cells(I + 2, 9).Value
TextBox7.Text = Sheets("ENTRENAMIENTO").Cells(I + 2, 10).Value
TextBox9.Text = Sheets("ENTRENAMIENTO").Cells(I + 2, 11).Value
TextBox10.Text = Sheets("ENTRENAMIENTO").Cells(I + 2, 12).Value
TextBox12.Text = Sheets("ENTRENAMIENTO").Cells(I + 2, 13).Value
TextBox13.Text = Sheets("ENTRENAMIENTO").Cells(I + 2, 14).Value
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
For J = 1 To 4
If TextBox3.Text = Sheets("REGISTRO").Cells(J + 2, 9) Then
TextBox5.Text = Sheets("REGISTRO").Cells(J + 2, 10)
End If
If TextBox6.Text = Sheets("REGISTRO").Cells(J + 2, 9) Then
TextBox8.Text = Sheets("REGISTRO").Cells(J + 2, 10)
End If
If TextBox9.Text = Sheets("REGISTRO").Cells(J + 2, 9) Then
TextBox11.Text = Sheets("REGISTRO").Cells(J + 2, 10)
End If
If TextBox12.Text = Sheets("REGISTRO").Cells(J + 2, 9) Then
TextBox14.Text = Sheets("REGISTRO").Cells(J + 2, 10)
End If
Next
Exit For
End If
Next
End If
End Sub
Si se encuentra la MASCOTA registrada, la variable ACIERTO cambiar su
valor a SI. El fragmento de cdigo siguiente (se ejecuta cuando la variable
ACIERTO es SI) muestra el traslado de los datos de la hoja
ENTRENAMIENTO a los TEXTBOX respectivos para las ACTIVIDADES
REALIZADAS y FECHA. El cdigo contina verificando el valor de las
actividades.
Pulse doble click en el botn BUSCAR del USERFORM2 ingresando el
siguiente cdigo.
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Private Sub CommandButton1_Click()
ACIERTO = "NO"
For I = 1 To 100
If TextBox2.Text = Sheets("REGISTRO").Cells(I + 2, 5).Value And
TextBox2.Text <> "" Then
TextBox1.Text = Sheets("REGISTRO").Cells(I + 2, 6).Value
CommandButton2.Enabled = True
CommandButton3.Enabled = True
ACIERTO = "SI"
Exit For
End If
Next
If ACIERTO = "NO" Then
MsgBox ("LA MASCOTA NO SE ENCUENTRA REGISTRADA")
End If
End Sub
Observe que una vez encontrado el registro de la mascota (ACIERTO =
SI), se activan los botones BORRAR y ACTUALIZAR.
Para terminar con la programacin general de la aplicacin, vamos agregar
un fragmento de cdigo que actualice el estado de la mascota de SIN
CANCELAR a CANCELADO. Agregue un botn a la hoja FACTURAR
denominado CANCELAR e ingrese el siguiente cdigo.
Private Sub CommandButton2_Click()
If Cells(14, 9).Value = "SIN CANCELAR" And Cells(3, 12).Value <> "" Then
Cells(14, 9).Value = "CANCELADO"
For I = 1 To 100
If Sheets("REGISTRO").Cells(I + 2, 5).Value = Cells(3, 12).Value Then
Sheets("REGISTRO").Cells(I + 2, 7).Value = "CANCELADO"
Range("E6:I9").Select
Selection.ClearContents
Exit For
End If
Next
Else
MsgBox ("LA FACTURA SE ENCUENTRA CANCELADA")
End If
End Sub
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Ilustracin 164. Diseo final de la hoja facturar para el ejercicio 11
Noveno paso: Prueba Bsica de la aplicacin
1. Ingrese las siguientes actividades en la hoja REGISTRO (los precios
regstrelos sin signos y puntuaciones)
Bsica 1 -> $65.000
Bsica 2 -> $75.000
Avanzado 1 -> $150.000
Avanzado 2 -> $120.000
2. Modifique el precio de la actividad Bsica 2 a $70.000
3. Ingrese la siguientes mascotas con sus respectivos cdigos
Homero -> 4321
Doggy -> 5552
Pulgoso -> 3950
Pastor -> 2001
4. Borre la mascota de cdigo 5552 (el resultado preliminar de la hoja
debera quedar como se muestra en la siguiente ilustracin).
DESARROLLODE APLICACIONES EN MICROSOFT
EXCEL
Ilustracin 165. Prueba de la aplicacin para gestionar un centro de mascotas
5. Registre los siguientes entrenamientos para las mascotas (en la hoja
ENTRENAMIENTO):
Pulgoso -> 3950
Actividad Bsica 1 (10-May-10) Avanzado 1 (15-Jun-10)
Pastor -> 2001
Actividad Bsica 1 (10-May-10) Bsica 2 (19-May-10)
Avanzado 1 (15-Jun-10)
6. En la hoja FACTURAR pulse el botn del mismo nombre y busque el
cdigo 2001. Luego pulse el botn ACEPTAR.
Ilustracin 166. Registro de una factura
Verifique el valor total ($ 324.800).
7. Ahora pulse sobre el botn CANCELAR de la hoja y verifique que el
estado de la cuenta pase a CANCELADO.
DISEO DE UNA APLICACIN PARA LA
GESTIN DE INFORMACINDOCUMENTAL
Objetivo: Desarrollo de una aplicacin completa para el registro y control de
documentos, empleando un lector de cdigo de barras.
Primer paso: Diseo de la portada
Cambie el nombre de la hoja 1 a PORTADA y agregue un color oscuro (en
este ejemplo se utiliz azul oscuro) como fondo de la hoja. Incluya el
siguiente texto: GESTOR D: Software para la Gestin Documental (puede
utilizar la herramienta WordArt disponible en Microsoft
Excel).
Ilustracin 167. Encabezado de la hoja portada para el ejercicio 12
Adicione tres botones (tipo CONTROLES ACTIVE X). Modifique la
propiedad CAPTION de cada botn a INGRESAR, ADMINISTRADOR y
GUARDAR/SALIR, respectivamente. Cambie el tamao de la letra de los
botones con la opcin FONT.
Ilustracin 168. Botones de comando (tipo Active X) dispuestos en la hoja portada
Segundo paso: Ventana de ingreso a la aplicacin
En la interfaz de Microsoft