Aplicaciones en Excel Avanzado VBA---PDF

download Aplicaciones en Excel Avanzado VBA---PDF

of 89

Transcript of Aplicaciones en Excel Avanzado VBA---PDF

  • Elkin Nieves

    CREACIN DE VENTANAS EMPLEANDOVISUAL BASIC PARA APLICACIONESObjetivo: Desarrollar un ejercicio bsico que muestre los enlaces entre lasventanas (o formularios) diseados en Visual Basic for Application (VBA) yMicrosoft Excel.

    Primer paso: Diseo del formulario

    En este ejemplo se disear un formulario sencillo para demostrar el uso delos controles y su enlace con una hoja de clculo. Para ello cree unUSERFORM en 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 aINTERFAZ DE PRUEBA modificando la propiedad CAPTION. Cambie elcolor 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 aNOMBRE, CIUDAD ORIGEN y DESTINO, respectivamente. Modifiqueel color de las etiquetas al mismo color de fondo de la ventana con lapropiedad BACKCOLOR. Active la opcin NEGRITA de la propiedadFONT.

    Ilustracin 97. Modificacin de la propiedad caption de las etiquetas

  • Elkin Nieves

    Limite el nmero de caracteres del CUADRO DE TEXTO a 20 con lapropiedad MAXLENGTH. Para los BOTONES DE OPCIN(OPTIONBUTTON 1 y 2) cambie el valor de la propiedad CAPTION aNACIONAL e INTERNACIONAL. Cambie el color de los dos controles aazul 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 unviaje, empleando la propiedad PICTURE. Seleccione la opcin 1(FMPICTURESIZEMODESTRETCH) de la propiedad PICTURESIZEMODE.Para finalizar el diseo de la ventana, modifique tambin la propiedadCAPTION de la CASILLA DE VERIFICACIN y el BOTN DE COMANDOa VIAJE DE TURISMO y ACEPTAR, respectivamente. Cambie el colorde la CASILLA DE VERIFICACIN a 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 decdigo seleccione el evento ACTIVATE. Escriba el siguiente cdigo (encolor rojo):

    Ilustracin 100. Programacin de controles ComboBoxPrivate Sub UserForm_Activate()

    ComboBox1.ClearComboBox1.AddItem ("CARTAGENA")ComboBox1.AddItem ("BARRANQUILLA")ComboBox1.AddItem ("SANTA MARTA")

    End Sub

    EventoACTIVATE

    El cdigo borra primero el contenido del COMBOBOX1 y luego agregue lastres 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 agregu un BOTN DE COMANDO tipoCONTROL ACTIVEX con el texto FORMULARIO en la propiedadCAPTION, como se puede observar en la siguiente ilustracin (ajuste lapropiedad FONT para resaltar el texto del botn).

  • Elkin Nieves

    Ilustracin 101. Control botn de comando tipo Active X

    Haga doble click en el botn y agregue el siguiente cdigo:

    Private Sub CommandButton1_Click()UserForm1.Show

    End Sub

    Pruebe el botn, desactivando antes el botn MODO DISEO de la fichaPROGRAMADOR y verifique que el COMBOBOX1 muestre las opcionesprogramadas en el paso anterior.

    Cuarto paso: Traslado de los datos del formulario a la hoja de clculo

    Antes de programar el traslado de datos entre el formulario y la hoja declculo, cree la siguiente tabla en la hoja donde se encuentra el BOTN DECOMANDO.

    Ilustracin 102. Campos nombre, destino, ciudad de origen y viaje de turismo para el ejercicio 5

    Regrese nuevamente al formulario en Visual Basic y haga doble click en elbotn ACEPTAR. Ingrese el siguiente cdigo.

  • Elkin Nieves

    Private Sub CommandButton2_Click()Cells(9, 6).Value = TextBox1.TextCells(9, 11).Value = ComboBox1.TextIf OptionButton1.Value = True Then

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

    Cells(10, 6).Value = "INTERNACIONAL"End IfIf CheckBox1.Value = True Then

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

    Cells(10, 11).Value = "NO"End IfUserForm1.Hide

    End Sub

    A continuacin se explicar el cdigo anterior en detalle.

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

    Permite trasladar el texto contenido en el TEXTBOX1 a la celdacorrespondiente a la fila 9 y columna nmero 6 (F9).

    Ilustracin 103. Direccin de la celda correspondiente al campo nombre

    Celda

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

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

    If OptionButton1.Value = True ThenCells(10, 6).Value = "NACIONAL"

    Else

  • Elkin Nieves

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

    Este fragmento de cdigo representa un condicional donde se pregunta si elprimer OPTIONBUTTON1 se encuentra seleccionado (VALUE = TRUE). Eneste caso se mostrar en la celda F10 el texto NACIONAL y en casocontrario el texto INTERNACIONAL. Observe que el condicional IF THENELSE debe finalizar con el comando END IF.

    If CheckBox1.Value = True ThenCells(10, 11).Value = "SI"

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

    End IfNuevamente se emplea el condicional IF THEN ELSE para evaluar si elCHECKBOX1 se encuentra marcado. Si esto ocurre (VALUE = TRUE) semuestra el texto SI, en caso contrario se muestra NO.

    UserForm1.Hide

    Esta ltima lnea de cdigo oculta la ventana. Pulse el BOTN DECOMANDO de la hoja de clculo y pruebe el formulario completo.

    Quinto paso: Proteccin de celdas y hojas

    Seleccione las celdas en las cuales el usuario ingresar los datos y pulsecon el botn derecho del mouse para desplegar la ventana FORMATO DECELDAS. Una vez desplegada la ventana, dirjase a la ficha PROTEGER ydesactive la opcin BLOQUEADA. Luego, en el men REVISAR, pulsesobre el botn PROTEGER HOJA y desmarque la opcin SELECCIONARCELDAS BLOQUEADAS. Desmarque tambin la opcin TTULOS que seencuentra en la ficha VISTA.

    Realice una prueba final de la aplicacin donde ingrese informacin al librode Excel a travs del formulario.

  • Elkin Nieves

    INGRESO DE DATOS EN UNA TABLAEMPLEANDO VISUAL BASIC PARAAPLICACIONESObjetivo: Desarrollar un ejercicio completo donde se permita el ingreso dedatos en una tabla en Microsoft Excel empleando Visual Basic paraAplicaciones.

    Primer paso: Predefinir los requisitos (campos)

    La aplicacin corresponde al registro y actualizacin de una tabla quecontiene informacin sobre las personas que ingresan y salen de unaedificacin.

    La tabla debe contener los siguientes campos:

    - Nombre(s) y Apellidos- Tipo de documento de identidad- Nmero 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.

    Un ejemplo de la tabla se puede observar en la siguiente ilustracin(comience desde la celda B2).

    Ilustracin 104. Esquema de la tabla para el ejercicio 6

  • Elkin Nieves

    Segundo paso: Diseo del formulario principal

    Disee el siguiente formulario desde la consola de Microsoft Excel VisualBasic para Aplicaciones, basado en los campos mencionados en el pasoanterior.

    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, debemosprogramar el ComboBox1 (control de listado), para que muestre lasopciones: C.C., C.E. y T.I. (Cdula de Ciudadana, Cdula de Extranjera yTarjeta de Identidad). Haga doble click en el formulario y en la ventana decdigo seleccione el procedimiento ACTIVATE. Escriba el siguiente cdigo(en color rojo):

    Private Sub UserForm_Activate()ComboBox1.ClearComboBox1.AddItem ("C.C.")ComboBox1.AddItem ("C.E.")ComboBox1.AddItem ("T.I.")

    End Sub

    El cdigo borra primero el contenido del COMBOBOX1 y luego agrega lastres opciones disponibles (esto ocurre cuando se activa la ventana).

    Cuarto paso: Activar el formulario desde la hoja de clculo

    Desde la hoja de Microsoft Excel donde se encuentra la tabla creada en elpaso 1, agregu un botn justo al lado de la tabla (Control Active X) llamadoFORMULARIO, como se observa en la siguiente ilustracin.

  • Elkin Nieves

    Ilustracin 106. Botn de comando tipo Active X para activar el formulario desde Microsoft Excel

    Haga doble click en el botn y agregue el siguiente cdigo:

    Private Sub CommandButton1_Click()UserForm1.Show

    End Sub

    Pruebe el botn y verifique el COMBOBOX1 muestre las opcionesprogramadas en el paso anterior.

    Quinto paso: Programar el ingreso de datos

    Regrese nuevamente al formulario en Visual Basic y haga doble click en elbotn ACTUALIZAR. Ingrese el siguiente cdigo.

    Private Sub CommandButton2_Click()For I = 1 To 100

    If Cells(I + 2, 2).Value = "" ThenCells(I + 2, 2).Value = ICells(I + 2, 3).Value = TextBox1.TextCells(I + 2, 4).Value = TextBox2.TextCells(I + 2, 5).Value = ComboBox1.TextCells(I + 2, 6).Value = TextBox3.TextCells(I + 2, 7).Value = TextBox4.TextCells(I + 2, 8).Value = TextBox5.TextCells(I + 2, 9).Value = TextBox6.TextIf TextBox6.Text = "" Then

    Cells(I + 2, 10).Value = "Adentro"Else

    Cells(I + 2, 10).Value = "Afuera"End If

  • Elkin Nieves

    Exit ForEnd If

    NextEnd Sub

    En cdigo se detalla el envo de datos desde los controles dispuestos en elformulario a las respectivas celdas ubicadas en Excel.

    Sexto paso: Programar el botn Borrar

    En este caso se optar por un botn para borrar solo los campos de textosdel formulario. Haga doble click en el botn BORRAR e ingrese el siguientecdigo.

    Private Sub CommandButton3_Click()TextBox1.Text = ""TextBox2.Text = ""TextBox3.Text = ""TextBox4.Text = ""TextBox5.Text = ""TextBox6.Text = ""ComboBox1.Text = ""

    End Sub

    Sptimo paso: Programar el botn Buscar

    Este botn realizar una bsqueda en la tabla hasta encontrar un nmerode identificacin coincidente. Antes de realizar la programacin, modifiqueel formulario, para que quede como el que se muestra a continuacin:

    Ilustracin 107. Formulario para realizar la bsqueda de registros

  • Elkin Nieves

    Haga doble click en el botn BUSCAR y agregue el siguiente cdigo.

    Private Sub CommandButton1_Click()For I = 1 To 100

    If TextBox7.Text = Cells(I + 2, 6).Value ThenTextBox1.Text = Cells(I + 2, 3).ValueTextBox2.Text = Cells(I + 2, 4).ValueComboBox1.Text = Cells(I + 2, 5).ValueTextBox3.Text = Cells(I + 2, 6).ValueTextBox4.Text = Cells(I + 2, 7).ValueTextBox5.Text = Cells(I + 2, 8).ValueTextBox6.Text = Cells(I + 2, 9).ValueExit For

    End IfNext

    End Sub

    En el cdigo se muestra un ciclo FOR que abarca 100 registros (para I iguala 1 hasta 100), con un condicional inicial que busca la coincidencia entre eltexto del TEXTBOX7 y la celda cuyo contenido es el nmero deidentificacin.

    Una vez lograda la coincidencia, se extraen los datos del registro y setrasladan a los correspondientes campos ubicados en el formulario deBUSQUEDA, finalizando el ciclo con la funcin EXIT FOR.

    Realice una prueba completa de la aplicacin, ingresando algunos registrosy luego ubicndolos con el formulario de BUSQUEDA.

  • MANEJO DE DATOS EMPLEANDO VISUALBASIC PARA APLICACIONESObjetivo: Desarrollar un ejercicio completo relacionado con el manejo dedatos en Microsoft Excel empleando Visual Basic para Aplicaciones.

    Primer paso: Predefinir los requisitos (campos)

    La aplicacin corresponde al ingreso y actualizacin para el registro denotas de una asignatura manejada por un docente.

    La tabla debe contener los siguientes campos:

    - Nombre(s) (admite mximo 20 caracteres)- Apellidos (admite mximo 20 caracteres)- Cdigo del estudiante (admite mximo 10 caracteres)- Programa al que pertenece- Nota 1- Nota 2- Nota 3- Nota Final

    Un ejemplo de la tabla se puede observar en la siguiente ilustracin(comience desde la celda B2).

    Ilustracin 108. Tabla dispuesta para el ejercicio 7

  • Segundo paso: Formulario para el ingreso de un nuevo estudiante

    Disee el siguiente formulario desde la consola de Microsoft Visual Basicfor Application; los campos se refieren a la informacin bsica delestudiante.

    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 pasoanterior. Por ejemplo, el TEXTBOX1 corresponde al nombre, por tanto lapropiedad del MAXLENGTH debe quedar como se muestra en la siguienteilustracin.

    Ilustracin 110. Propiedad Maxlength de los controles textbox

    Tercer paso: Programacin preliminar del formulario para el ingreso deun estudiante

    Antes de pasar a la programacin del botn INGRESAR del formulario,debemos programar el COMBOBOX1 (control de listado), para que muestrelos diferentes programas disponibles: Administracin Industrial, ContaduraPblica, Administracin de Empresas y Economa. Haga doble click en elformulario y en la ventana de cdigo seleccione el procedimientoACTIVATE. Escriba el siguiente cdigo (en color rojo):

  • Private Sub UserForm_Activate()ComboBox1.ClearComboBox1.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 (estoacurre cuando se activa la ventana).

    Cuarto paso: Activar el formulario desde la hoja de clculo

    Desde la hoja de Microsoft Excel donde se encuentra la tabla creada en elpaso 1, agregu un botn justo al lado de la tabla (tipo Control Active X)llamado INGRESO ESTUDIANTE, como se observa en la siguienteilustracin.

    Ilustracin 111. Botn tipo Active X para el despliegue del formulario de ingreso de datos para el ejercicio 7

    Haga doble click en el botn y agregue el siguiente cdigo:

    Private Sub CommandButton1_Click()UserForm1.Show

    End Sub

  • Desactive el modo de diseo y pruebe el botn haciendo click sobre l.Verifique si el COMBOBOX1 muestra las opciones programadas en el pasoanterior.

    Quinto paso: Programar el ingreso de estudiante

    Regrese nuevamente al formulario en Visual Basic y haga doble click en elbotn INGRESAR del formulario. Digite el siguiente cdigo inicial:

    Private Sub CommandButton1_Click()For I = 1 To 50

    If Cells(I + 2, 2).Value = "" ThenCells(I + 2, 2).Value = TextBox1.TextCells(I + 2, 3).Value = TextBox2.TextCells(I + 2, 4).Value = TextBox3.TextCells(I + 2, 5).Value = ComboBox1.TextTextBox1.Text = ""TextBox2.Text = ""TextBox3.Text = ""ComboBox1.Text = ""Exit For

    End IfNext

    End Sub

    El ciclo FOR limita el ingreso de estudiantes a un total de 50. El ciclo iniciacon la localizacin de una celda vaca para trasladar la informacin delformulario, a cada celda correspondiente a la fila vaca. Adems, una vezingresados los datos, se proceder a borrar el formulario, con el fin deagilizar el ingreso de nuevos registros.

    Regrese nuevamente a la hoja de Excel y realice una prueba completaingresando un nuevo estudiante.

    Sexto paso: Formulario para el ingreso de notas

    Cree un nuevo formulario de acuerdo a la siguiente ilustracin(USERFORM2).

  • Ilustracin 112. Diseo del formulario para el ingreso de notas

    Desactive solo los TEXTBOX 2, 3 y 4 (NOMBRE(S), APELLIDOS YPROGRAMA), modificando la propiedad ENABLED a FALSE. Estoimpedir que se modifiquen los datos arrojados en la bsqueda.

    Ilustracin 113. Proteccin de un control textbox

    Regrese a la hoja de Microsoft Excel donde se encuentra la tabla creadaen el paso 1, y agregue un nuevo botn justo al lado de la tabla (TipoControl Active X) llamado ACTUALIZAR NOTAS, como se observa en lasiguiente ilustracin.

  • Ilustracin 114. Botn tipo Active X para desplegar el formulario de ingreso de notas

    Haga doble click en el botn y agregue el siguiente cdigo:

    Private Sub CommandButton2_Click()UserForm2.ShowUserForm2.TextBox1.Text = ""UserForm2.TextBox2.Text = ""UserForm2.TextBox3.Text = ""UserForm2.TextBox4.Text = ""UserForm2.TextBox5.Text = ""UserForm2.TextBox6.Text = ""UserForm2.TextBox7.Text = ""

    End Sub

    En este caso, adems de mostrar la ventana, se borrarn todos losTEXTBOX del USERFORM2. Desactive el modo de diseo y pruebe elbotn haciendo click sobre l.

    Sptimo paso: Programar el botn Buscar

    Antes de ingresar una nota, se proceder a localizar al estudiante mediantesu cdigo. Haga doble click en el botn BUSCAR y agregue el siguientecdigo.

    Private Sub CommandButton1_Click()For I = 1 To 50

    If TextBox1.Text = Cells(I + 2, 4).Value ThenTextBox2.Text = Cells(I + 2, 2).ValueTextBox3.Text = Cells(I + 2, 3).ValueTextBox4.Text = Cells(I + 2, 5).ValueTextBox5.Text = Cells(I + 2, 6).Value

  • TextBox6.Text = Cells(I + 2, 7).ValueTextBox7.Text = Cells(I + 2, 8).ValueExit For

    End IfNext

    End Sub

    Octavo paso: Programar el botn Actualizar

    Dado que ya se tiene certeza de la existencia o no del estudiante, se da laopcin de ingresar las notas. Haga doble click en el botn ACTUALIZAR eingrese el siguiente cdigo.

    Private Sub CommandButton2_Click()For I = 1 To 50

    If TextBox1.Text = Cells(I + 2, 4).Value ThenCells(I + 2, 6).Value = TextBox5.TextCells(I + 2, 7).Value = TextBox6.TextCells(I + 2, 8).Value = TextBox7.TextCells(I + 2, 9).Value = (Val(TextBox5.Text) + Val(TextBox6.Text)

    + Val(TextBox7.Text)) / 3Exit For

    End IfNext

    End Sub

    Esta rutina busca nuevamente el cdigo del estudiante y luego traslada lasnotas digitadas en la hoja de clculo. Adems se calcula el promedio(empleando la opcin VAL para cada TEXTBOX).

    Noveno paso: Pruebe su programa

    Para probar la aplicacin siga los siguientes pasos:

    1. Inicie ingresando los siguientes estudiantes:

    Nombre(s): JUAN CARLOSApellidos: VERGARA SCHMALBACHCdigo: 493202011Programa: Administracin Industrial

    Nombre(s): PEDROApellidos: RODRGUEZ PREZ

  • Cdigo: 492341234Programa: Administracin Industrial

    Nombre(s): JULIANApellidos: ALFONZO LPEZCdigo: 3504030012Programa: Administracin de Empresas

    2. Localiza al estudiante de cdigo 4923412343. Ingresa las notas

    Nota 1 4,1Nota 2 3,7Nota 3 4,2

    4. Ajusta el ancho de las columnas y cantidad de decimales. Elresultado final debera verse como en la siguiente ilustracin.

    Ilustracin 115. Resultado final de la prueba realizada al ejercicio 7

  • DISEO DE UNA APLICACIN PARAFACTURAR EN UNA PEQUEA EMPRESAObjetivo: Desarrollar un ejercicio completo para el control y registro de laFACTURACIN para una pequea empresa, aplicando herramientas vistasde Microsoft Excel mediante el uso Visual Basic para Aplicaciones,formatos, condicionales, frmulas y funciones.

    Primer paso: Diseo de la portada

    Inicie con un documento en blanco en Microsoft Excel y asigne losnombres PORTADA, FACTURAR, REGISTRO y CONFIGURAR a cadahoja. La portada debe contener una pequea introduccin sobre laaplicacin y tres links (puede emplear hipervnculos) en forma de botn, quedeben dirigir al usuario a cada una de las hojas que hacen parte del libro(ver la ilustracin contigua).

    Ilustracin 116. Diseo de la portada para el ejercicio 8

    Elimine las lneas de divisin y encabezados desmarcando la opcin VERque se encuentra en la ficha DISEO DE PGINA en Office 2007 o en laficha VISTA para Office 2010.

  • Ilustracin 117. Desmarque de las opciones de visualizacin de lneas de divisin y encabezados en Microsoft Excel2010

    Una vez establecidos los hipervnculos, proceda a proteger la hojadesmarcando la opcin SELECCIONAR CELDAS BLOQUEADAS.

    Ilustracin 118. Proteccin de la portada para el ejercicio 8

    Segundo paso: Diseo de la plantilla de registro de productos

    En la hoja CONFIGURAR disee una tabla para el registro de productos.Dicha tabla debe contener los siguientes campos (ver ilustracin):

    - Cdigo- Producto (admite mximo 20 caracteres)- Precio

  • Ilustracin 119. Tabla de registro de productos

    Tercer paso: Formulario para el registro de productos

    Inserte un formulario en Visual Basic para Aplicaciones, que contenga loscampos mencionados en el paso anterior como se muestra en la ilustracin.

    Ilustracin 120. Formulario para el registro de productos

    Programe el cdigo del botn INGRESAR con la siguiente rutina. Observeque en este caso solo se admitirn hasta 100 productos.

    Private Sub CommandButton1_Click()For I = 1 To 100

    If Cells(I + 2, 2).Value = "" ThenCells(I + 2, 2).Value = TextBox1.TextCells(I + 2, 3).Value = TextBox2.TextCells(I + 2, 4).Value = TextBox3.TextExit For

    End IfNext

    End Sub

  • DESARROLLO DE APLICACIONES EN 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 donde se encuentra la tabla creada en elpaso 2, agregue un botn justo al lado de la tabla (Tipo Control Active X)llamado INGRESAR PRODUCTO, como se observa en la siguienteilustracin.

    Ilustracin 121. Botn para la activacin del formulario de registro de productos

    Incluya el siguiente cdigo en la programacin del botn.

    Private Sub CommandButton1_Click()UserForm1.Show

    End Sub

    Quinto paso: Formato de la factura

    Disee el formato para el registro de la factura de venta. Este formatoadmitir mximo 5 productos. Incluya los siguientes campos:

    - Consecutivo- Cliente (admite mximo 20 caracteres)- Identificacin- Cdigo- Producto- Precio- Cantidad

  • DESARROLLO DE APLICACIONES EN 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 camposmencionados en el paso anterior, exceptuando el consecutivo.

    Ilustracin 123. Formulario para el registro de facturas

    Antes de pasar a programar cada botn, bloque los TEXTBOXcorrespondientes a PRODUCTO y PRECIO (ya que estos son el resultado

  • DESARROLLO DE 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 enFALSE.

    Ilustracin 124. Propiedad Enabled de un control TextBox

    Limite la longitud mxima aceptada para el nombre del cliente modificandola propiedad MAXLENGTH en 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 donde se encuentra la tabla creadaen el paso 5, y agregu un nuevo botn justo al lado de la tabla (TipoControl Active X) llamado INGRESAR, como se observa en la siguienteilustracin.

  • DESARROLLO DE APLICACIONES EN 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 funcinde 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 ThenTextBox4.Text = Sheets("Configurar").Cells(I + 2, 3) .ValueTextBox5.Text = Sheets("Configurar").Cells(I + 2, 4) .ValueExit For

    End IfNext

    End Sub

  • DESARROLLO DE 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 ThenTextBox8.Text = Sheets("Configurar").Cells(I + 2, 3) .ValueTextBox9.Text = Sheets("Configurar").Cells(I + 2, 4) .ValueExit For

    End IfNext

    End Sub

    Private Sub CommandButton3_Click()For I = 1 To 100

    If TextBox11.Text = Sheets("Configurar").Cells(I + 2, 2).Value ThenTextBox12.Text = Sheets("Configurar").Cells(I + 2, 3).ValueTextBox13.Text = Sheets("Configurar").Cells(I + 2, 4) .ValueExit For

    End IfNext

    End Sub

    Contine con la programacin de los botones 4 y 5, manteniendo lasecuencia de los TEXTBOX. Una vez que el usuario haya digitado lainformacin a facturar, deber pulsar en el botn INGRESAR, cuya funcines la de trasladar los datos del formulario a la hoja de clculo. Laprogramacin del botn se muestra a continuacin.

    Private Sub CommandButton6_Click()Cells(9, 3).Value = TextBox1.TextCells(10, 3).Value = TextBox2.TextCells(13, 2).Value = TextBox3.TextCells(13, 3).Value = TextBox4.TextCells(13, 4).Value = TextBox5.TextCells(13, 5).Value = TextBox6.TextCells(14, 2).Value = TextBox7.TextCells(14, 3).Value = TextBox8.TextCells(14, 4).Value = TextBox9.TextCells(14, 5).Value = TextBox10.TextCells(15, 2).Value = TextBox11.TextCells(15, 3).Value = TextBox12.Text

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    Cells(15, 4).Value = TextBox13.TextCells(15, 5).Value = TextBox14.TextCells(16, 2).Value = TextBox15.TextCells(16, 3).Value = TextBox16.TextCells(16, 4).Value = TextBox17.TextCells(16, 5).Value = TextBox18.TextCells(17, 2).Value = TextBox19.TextCells(17, 3).Value = TextBox20.TextCells(17, 4).Value = TextBox21.TextCells(17, 5).Value = TextBox22.TextCells(2, 4).Value = Cells(2, 4).Value + 1

    End Sub

    Observe que la ltima lnea de cdigo ingresado incrementa el valor delCONSECUTIVO de la factura en 1.

    Noveno paso: Frmulas para el clculo de los campos resultado en laFactura

    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 porfactura que incluya los siguientes campos:

  • DESARROLLO DE 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 lasiguiente ilustracin.

    Ilustracin 129. Botn para el almacenaje de facturas en Microsoft Excel

  • DESARROLLO DE 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 = "" ThenSheets("Registro").Cells(I + 2, 2).Value = Cells(2, 4).ValueSheets("Registro").Cells(I + 2, 3).Value = Cells(22, 6).ValueRange("B13:E17").SelectSelection.ClearContentsExit For

    End IfNext

    End Sub

    Un aspecto nuevo para el lector es el comando RANGE( ).SELECT ySELECTION.CLEARCONTENTS. El primero permite seleccionar un rangode celdas, mientras que el segundo comando, permite borrar las celdasanteriormente seleccionadas.

    Para probar el funcionamiento de la aplicacin realice un ejercicio completo,iniciando con el registro de varios productos.

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    DISEO DE UN LISTN TELEFNICOObjetivo: Desarrollar un ejercicio para el diseo de un LISTNTELEFNICO 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 ydisee 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 eIMPRESIN. Un ejemplo de la plantilla podra ser como se observa en lasiguiente ilustracin.

    Ilustracin 130. Esquema general en Microsoft Excel para el registro de un listn telefnico

  • DESARROLLO DE 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 DEPGINA 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 elencabezado, 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 pasoanterior y agregue los botones INGRESAR, BUSCAR, EDITAR yELIMINAR (ver la ilustracin).

    Ilustracin 133. Formulario para el ingreso de datos en el Listn Telefnico

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    Modifique la propiedad MAXLENGTH de los TEXTBOX 1 y 2 para queadmitan solo 20 caracteres. Haga doble click en el botn INGRESAR eincluya la siguiente rutina

    Private Sub CommandButton1_Click()For I = 1 To 100

    If Cells(I + 10, 2).Value = "" ThenCells(I + 10, 2).Value = ICells(I + 10, 3).Value = TextBox1.TextCells(I + 10, 4).Value = TextBox2.TextCells(I + 10, 5).Value = TextBox3.TextCells(I + 10, 6).Value = TextBox4.TextCells(I + 10, 7).Value = TextBox5.TextTextBox1.Text = ""TextBox2.Text = ""TextBox3.Text = ""TextBox4.Text = ""TextBox5.Text = ""Exit For

    End IfNext

    End Sub

    Observe que una vez ingresados los datos de la persona, se borrarn losTEXTBOX de forma automtica (esto se logra empleando la lnea de cdigoTEXTBOX#.TEXT = ). Programe ahora el botn BUSCAR digitando lasiguiente rutina. Esta secuencia indica una bsqueda por NOMBRE(S) de lapersona.

    Private Sub CommandButton2_Click()For I = 1 To 100

    If Cells(I + 10, 3).Value = TextBox1.Text ThenTextBox2.Text = Cells(I + 10, 4).ValueTextBox3.Text = Cells(I + 10, 5).ValueTextBox4.Text = Cells(I + 10, 6).ValueTextBox5.Text = Cells(I + 10, 7).ValueExit For

    End IfNext

    End Sub

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    El botn EDITAR tiene la funcin de actualizar un cambio efectuado en losdatos de la persona. La limitacin de la actualizacin de los datos radica enque 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 ThenCells(I + 10, 4).Value = TextBox2.TextCells(I + 10, 5).Value = TextBox3.TextCells(I + 10, 6).Value = TextBox4.TextCells(I + 10, 7).Value = TextBox5.TextExit For

    End IfNext

    End Sub

    En el botn ELIMINAR incluiremos una nueva rutina para eliminar una filadonde 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 ThenCells(I + 10, 3).SelectSelection.EntireRow.DeleteExit For

    End IfNextFor I = 1 To 100

    If Cells(I + 10, 2).Value "" ThenCells(I + 10, 2).Value = I

    End IfNext

    End Sub

    El primer ciclo PARA, detecta la coincidencia del nombre de la persona lacual se desea borrar del listn, y mediante el cdigoSELECTION.ENTIREROW.DELETE se elimina la fila completa. El segundociclo, actualiza el consecutivo (No.) de cada registro, buscando aquellasceldas que no estn vacas (CELLS(I + 10, 2).VALUE "") y actualizandosu valor con la variable contadora I del ciclo PARA (este ciclo no incluye elcomando EXIT FOR SALIR DEL CICLO PARA).

  • DESARROLLO DE 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 eingrese el siguiente cdigo.

    Private Sub CommandButton1_Click()UserForm1.Show

    End Sub

    Realice una prueba rpida sobre el funcionamiento de cada botn delformulario.

    Cuarto paso: Opcin de impresin de la plantilla

    Para poder imprimir una hoja de clculo en Microsoft Excel, incluya elsiguiente 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.

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    DISEO DE UNA APLICACIN PARA ELCONTROL DE VOTACIONESObjetivo: 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 alusuario 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 DEPGINA 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

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    Segundo paso: Diseo de la plantilla para el registro de sufragios pormesas

    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 yBUSCAR. A diferencia de otros ejercicios de entregas anteriores, no sedisear un formulario para realizar la bsqueda. En vez de esta opcin, secolocarn los campos de bsqueda y resultados en el mismo formulario. Labsqueda se realizar por el nmero de CDULA, mostrando el(los)NOMBRE(S) y APELLIDOS en caso tal de que exista una coincidencia. Unejemplo del diseo de la hoja podra ser como el que se muestra en lasiguiente ilustracin.

    Ilustracin 136. Plantilla para el registro de sufragantes

    Tercer paso: Diseo del formulario principal para el ingreso deinscritos

    Disee un formulario que contenga los campos sobre los datos personalesde los inscritos e incluya un botn llamado INGRESAR, para efectuar elenlace entre el formulario y la hoja de clculo (ver ilustracin). Cambie la

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    opcin BACKCOLOR de los objetos y formulario para agregarle un pocoms 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 admitaun mximo de 20 caracteres. Haga doble click en el botn INGRESAR eincluya la siguiente rutina

    Private Sub CommandButton1_Click()For I = 1 To 200

    If Cells(I + 9, 5).Value = TextBox3.Text ThenMsgBox ("LA PERSONA YA SE ENCUENTRA REGISTRADA")Exit For

    ElseIf Cells(I + 9, 2).Value = "" Then

    Cells(I + 9, 2).Value = ICells(I + 9, 3).Value = TextBox1.TextCells(I + 9, 4).Value = TextBox2.TextCells(I + 9, 5).Value = TextBox3.TextTextBox1.Text = ""TextBox2.Text = ""TextBox3.Text = ""Exit For

    End IfEnd If

    NextEnd Sub

    Entre las adiciones novedosas para el estudiante, se incluy un condicionalinicial en el ciclo FOR (IF THEN ELSE), cuya funcin es la de buscar siexiste un registro de un usuario que coincida con el nmero de CDULA.Si esto ocurre, se enviar un mensaje de error empleando el comando

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    MSGBOX (recuerde que la cdula se ubica en el ejemplo en la columnanmero 5 de la hoja de clculo y en el TEXTBOX3 del formulario), saliendodel ciclo mediante el uso del comando EXIT FOR.

    Si no se encuentra una coincidencia en el nmero de la CDULA, seproceder a trasladar los valores del formulario a la hoja de clculo.Observe que una vez ingresados los datos de la persona, se borrarn losTEXTBOX de forma automtica (esto se logra empleando la lnea de cdigoTEXTBOX#.TEXT = ).

    Cuarto paso: Activar el formulario desde la hoja de clculo

    Regrese a la hoja de clculo y haga doble click en el botn INGRESARINSCRITO 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 estaubicado en la hoja.

    Private Sub CommandButton2_Click()For I = 1 To 200

    If Cells(18, 8).Value = Cells(I + 9, 5).Value ThenCells(23, 8).Value = Cells(I + 9, 3).ValueCells(24, 8).Value = Cells(I + 9, 4).ValueExit For

    End IfNext

    End Sub

    Ntese que el llamado que hace el comando CELLS(18,8).VALUE equivaleal valor de la celda donde se escribe la CDULA que va a ser buscada.

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    Ilustracin 138. Referencia de celda de la celda de Busqueda

    COLUMNA 8

    FILA 18

    Sexto paso: Plantilla para el registro de las votaciones

    Luego de programar el registro de inscritos a la jornada electoral, seproceder a la creacin de una plantilla (en una hoja llamada MESAS) parael registro de los votos de aquellas personas que reposan en el listadoanterior. 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 siguientescampos:

    - 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)

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    Incluya imgenes que representen los candidatos, un botn denominadoVOTAR, una grfica resumen y el nmero de la mesa. Puede disear laplantilla 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. Rellenelos 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 enel paso anterior, se debe agregar un campo denominado CDULA DELVOTANTE junto a un botn con la funcin de ACTIVAR. Luego coloque uncontrol IMAGE para representar la opcin de voto con la imagen delcandidato (ver ilustracin).

  • DESARROLLO DE 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 ypoder 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 completaen el recuadro del control.

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    Ilustracin 143. Opciones disponibles para la propiedad PictureSizeMode

    Realice los pasos anteriores para agregar las imgenes de los demscandidatos. Acompae cada imagen con su correspondiente etiqueta detexto que los identifican. En la siguiente ilustracin se puede observar laventana completa.

    Ilustracin 144. Diseo final del formulario para el registro de votaciones

    Para evitar un voto no autorizado, cambie la propiedad ENABLED a FALSEpara 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 eingrese el siguiente cdigo.

  • DESARROLLO DE 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 elsiguiente cdigo.

    Private Sub CommandButton1_Click()Registrado = "NO"For I = 1 To 200

    If TextBox1.Text = Sheets("Registro").Cells(I + 9, 5).Value ThenMsgBox ("EL USUARIO SE ENCUENTRA REGISTRADO. PUEDE

    REALIZAR LA VOTACIN")Registrado = "SI"Image1.Enabled = TrueImage2.Enabled = TrueImage3.Enabled = TrueImage4.Enabled = TrueExit For

    End IfNextIf Registrado = "NO" Then

    MsgBox ("EL USUARIO NO SE ENCUENTRA REGISTRADO.USTED NO PUEDE VOTAR")

    End IfEnd Sub

    La primera parte del cdigo crea una variable llamada REGISTRO cuyovalor es NO. Esto indica que de forma predeterminada el votante no estregistrado. Luego se inicia un ciclo que busca el nmero de cdula en lahoja REGISTRO. En caso de que exista una coincidencia, aparecer unmensaje EL USUARIO SE ENCUENTRA REGISTRADO. PUEDEREALIZAR LA VOTACIN, cambiando el valor de la variable registro a SI yactivando cada control IMAGE.

    En caso de que no exista una coincidencia, se muestra el mensaje ELUSUARIO NO SE ENCUENTRA REGISTRADO. USTED NO PUEDEVOTAR. Ahora que estn activados los controles IMAGE, proceda a pulsardoble click en el primero de ellos e ingrese el siguiente cdigo.

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    Private Sub Image1_Click()Voto = "NO"For I = 1 To 200

    If TextBox1.Text = Cells(I + 2, 14).Value ThenMsgBox ("EL USUARIO YA VOT")Voto = "SI"Exit For

    End IfNextIf Voto = "NO" Then

    For I = 1 To 200If Cells(I + 2, 13).Value = "" Then

    Cells(13, 7).Value = Cells(13, 7).Value + 1Cells(I + 2, 13).Value = ICells(I + 2, 14).Value = TextBox1.TextImage1.Enabled = FalseImage2.Enabled = FalseImage3.Enabled = FalseImage4.Enabled = FalseUserForm2.HideExit For

    End IfNext

    End IfEnd Sub

    Este cdigo comienza con la definicin de la variable VOTO con un valorpredeterminado igual a NO. Luego se realiza una bsqueda paradeterminar si la persona ha votado con anterioridad (esto evita que unusuario registrado vote ms de una veces). En caso de acierto el valor de lavariable 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 luegodesactivando los controles IMAGE preparando el ingreso de un nuevovotante. Haga doble click en el control IMAGE2 e ingrese el siguientecdigo.

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    Private Sub Image2_Click()Voto = "NO"For I = 1 To 200

    If TextBox1.Text = Cells(I + 2, 14).Value ThenMsgBox ("EL USUARIO YA VOT")Voto = "SI"Exit For

    End IfNextIf Voto = "NO" Then

    For I = 1 To 200If Cells(I + 2, 13).Value = "" Then

    Cells(14, 7).Value = Cells(14, 7).Value + 1Cells(I + 2, 13).Value = ICells(I + 2, 14).Value = TextBox1.TextImage1.Enabled = FalseImage2.Enabled = FalseImage3.Enabled = FalseImage4.Enabled = FalseUserForm2.HideExit For

    End IfNext

    End IfEnd 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 coincidircon el conteo de votos del candidato 2. Gener las rutinas para el resto decomponentes 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: 102049391Julio Lpez Romero Cdula: 102049203.

    2. Ingrese la siguiente persona

  • DESARROLLO DE 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 registrarlaen la base de datos

    Jaime Varela Ramrez Cdula: 102047727

    4. Pulse en el botn VOTAR de la hoja MESAS, digite la cdula102041110 y pulse en el botn ACTIVAR.

    Debe aparecer una ventana de aviso de que la persona se encuentrainscrita y da el paso a la votacin.

    5. Elija el candidato 2

    La cdula aparece en listado anexo de votantes y la votacin del candidato2 es de 1.

    6. Pulse en el botn VOTAR de la hoja MESAS, digite la cdula102041880 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 cdula102041110 y pulse en el botn ACTIVAR.

    Debe aparecer una ventana de aviso de que la persona se encuentrainscrita y da el paso a la votacin.

    8. Elija el candidato 3

    La aplicacin debe mostrar un mensaje indicando que la persona ya havotado.

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    DISEO DE UNA APLICACIN PARAGESTIONAR UN CENTRO DE MASCOTASObjetivo: Desarrollar un ejercicio para disear la aplicacin ESCUELA DEMASCOTAS, como herramienta de apoyo para la gestin de unamicroempresa 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. Agregueimgenes alusivas al adestramiento de mascotas. Incluya un botndenominado CONTINUAR con un hipervnculo que dirija al usuario a unahoja 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 DEPGINA 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

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    Proteja la hoja, desmarcando la opcin SELECCIONAR CELDASBLOQUEADAS, 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 tresltimas hojas, procederemos a crear un men en comn que permita eldesplazamiento entre hojas. Inicie insertando tres botones, agregando unhipervnculo respectivo para cada hoja.

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    Ilustracin 148. Esquema general de la aplicacin

    Seleccione toda la hoja, y copie su contenido para luego pegarlo en lashojas restantes. Elimine las lneas de divisin y encabezados, desmarcandola opcin VER que se encuentra en la ficha DISEO DE PGINA en Office2007 o en la ficha VISTA para Office 2010.

    En la hoja FACTURAR, disee una tabla que contenga los siguientescampos:

    - Nombre Mascota (mximo 20 caracteres)- Cdigo- Actividades Realizadas- Fecha- Valor Actividad- Subtotal- IVA- Valor Total- Estado

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    Ilustracin 149. Plantilla de facturacin para el ejercicio 11

    Selecciones las celdas de contenido de los campos (puede ayudarse con latecla CONTROL para seleccionar celdas no consecutivas) y pulsando con elbotn derecho del mouse sobre ellas, desmarque la opcin BLOQUEADAque se encuentra en FORMATO DE CELDAS ficha PROTEGER.

    Ilustracin 150. Bloqueo y desbloqueo de celdas

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    Agregue las frmulas necesarias para calcular el SUBTOTAL, IVA(equivalente al 16% del SUBTOTAL) y VALOR TOTAL. En el valor delcampo 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 anteriorcomo 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 opcinENABLED a FALSE. Haga doble click en el botn ACEPTAR y escriba elsiguiente cdigo. La funcin de este botn es trasladar los datos delUSERFORM1 a la hoja de clculo.

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    Private Sub CommandButton2_Click()Cells(3, 6).Value = TextBox1.TextCells(3, 12).Value = TextBox2.TextCells(6, 5).Value = TextBox3.TextCells(6, 8).Value = TextBox4.TextCells(6, 9).Value = TextBox5.TextCells(7, 5).Value = TextBox6.TextCells(7, 8).Value = TextBox7.TextCells(7, 9).Value = TextBox8.TextCells(8, 5).Value = TextBox9.TextCells(8, 8).Value = TextBox10.TextCells(8, 9).Value = TextBox11.TextCells(9, 5).Value = TextBox12.TextCells(9, 8).Value = TextBox13.TextCells(9, 9).Value = TextBox14.TextCells(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. Bloquearemosmomentneamente el botn ACEPTAR en el momento que se active laventana. Para cumplir con esta tarea deber hacer doble click en laventana (USERFORM1), seleccionando el PROCEDIMIENTO ACTIVATE eingresando el siguiente cdigo.

  • DESARROLLO DE 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 (verilustracin) 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 opcinSELECCIONAR CELDAS BLOQUEADAS.

    Ilustracin 154. Proteccin de la hoja facturar para el ejercicio 11

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    Quinto paso: Plantilla y formularios para el registro de entrenamientos

    Disee una tabla en la hoja ENTRENAMIENTO que contenga los siguientescampos:

    - 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

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    En esta ventana se incluyeron 4 COMBOBOX para identificar lasactividades. La programacin de estos elementos se realizar al final deldocumento. Proteja el TEXTBOX correspondiente a NOMBRE MASCOTAmodificando la opcin ENABLED a FALSE. Haga doble click en el botnACTUALIZAR y escriba el siguiente cdigo. La funcin de este botn estrasladar o actualizar unos datos existentes del USERFORM2 a la hoja declculo.

    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 ThenENCONTRADO = "SI"Exit For

    End IfNext

    If ENCONTRADO = "NO" And ESCRITO = "SI" ThenFor I = 1 To 100

    If Cells(I + 2, 5).Value = "" ThenCells(I + 2, 5).Value = TextBox2.TextCells(I + 2, 6).Value = TextBox1.TextCells(I + 2, 7).Value = ComboBox1.TextCells(I + 2, 8).Value = TextBox3.TextCells(I + 2, 9).Value = ComboBox2.TextCells(I + 2, 10).Value = TextBox4.TextCells(I + 2, 11).Value = ComboBox3.TextCells(I + 2, 12).Value = TextBox5.TextCells(I + 2, 13).Value = ComboBox4.TextCells(I + 2, 14).Value = TextBox6.Text

    TextBox1.Text = ""TextBox2.Text = ""TextBox3.Text = ""TextBox4.Text = ""TextBox5.Text = ""

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    TextBox6.Text = ""ComboBox1.Text = ""ComboBox2.Text = ""ComboBox3.Text = ""ComboBox4.Text = ""Exit For

    End IfNext

    End If

    If ENCONTRADO = "SI" And ESCRITO = "SI" ThenFor I = 1 To 100

    If TextBox2.Text = Cells(I + 2, 5).Value ThenCells(I + 2, 5).Value = TextBox2.TextCells(I + 2, 6).Value = TextBox1.TextCells(I + 2, 7).Value = ComboBox1.TextCells(I + 2, 8).Value = TextBox3.TextCells(I + 2, 9).Value = ComboBox2.TextCells(I + 2, 10).Value = TextBox4.TextCells(I + 2, 11).Value = ComboBox3.TextCells(I + 2, 12).Value = TextBox5.TextCells(I + 2, 13).Value = ComboBox4.TextCells(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 IfNext

    End IfEnd Sub

    Observe que en el cdigo se declaran dos variables: ESCRITO yENCONTRADO. La primera cambia su valor a SI siempre y cuando, existaun texto escrito en los TEXTBOX 1, 2 y 3. Esto evita que el usuario realice

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    una modificacin en la tabla sin haber escrito nada en el USERFORM. Lasegunda variable torna su valor SI en el momento en que se encuentre unacoincidencia entre el campo CDIGO (TEXTBOX2) del USERFORM2 y lacelda de la tabla correspondiente a dicho CDIGO. La rutina contina condos condicionales:

    - IF ENCONTRADO = "NO" AND ESCRITO = "SI" THEN ->> En casode que los valores de las variables ENCONTRADO y ESCRITO seanNO y SI respectivamente, se proceder a agregar un nuevo registro.

    - IF ENCONTRADO = "SI" AND ESCRITO = "SI" THEN ->> En casode que ambos valores de las variables sean SI, se proceder aactualizar un registro existente.

    Antes de pasar a programar el botn BORRAR, adicionaremos un nuevoUSERFORM (USERFOM3) para validar la eliminacin de un registro conuna CONTRASEA. Disee el formulario de acuerdo a la siguienteilustracin. Modifique las propiedades MAXLENGTH y PASSWORDCHARdel TEXTBOX1 en 4 y * respectivamente.

    Ilustracin 157. Propiedades MaxLength y PasswordChar del control TextBox

    Regrese al formulario anterior (USERFORM2) y haga doble click en el botnBORRAR, agregando el siguiente cdigo

    Private Sub CommandButton2_Click()UserForm3.Show

    End Sub

    Bloquearemos momentneamente el botn BORRAR y ACTUALIZAR en elmomento que se active la ventana. Para cumplir con esta tarea deber

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    hacer doble click en la ventana (USERFORM2), seleccionando elPROCEDIMIENTO ACTIVATE e ingresando el siguiente cdigo.

    Private Sub UserForm_Activate()CommandButton2.Enabled = FalseCommandButton3.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 100If UserForm2.TextBox2.Text = Cells(I + 2, 5).Value Then

    Range(Cells(I + 2, 5), Cells(I + 2, 14)).SelectSelection.ClearContentsRange(Cells(I + 3, 5), Cells(102, 14)).SelectSelection.CutCells(I + 2, 5).SelectActiveSheet.PasteExit For

    End IfNext

    End IfEnd Sub

    Inserte un botn en la hoja (ENTRENAMIENTO) denominado REGISTRARy 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 latabla (seleccione un todas las filas de la tabla para desbloquearlas, encaso contrario el programa producir un error) y proteger la hojadesmarcando la opcin SELECCIONAR CELDAS BLOQUEADAS. Elresultado final debera verse como en la siguiente ilustracin.

  • DESARROLLO DE 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 yactividades de entrenamiento

    Disee dos tablas en la hoja REGISTRO correspondientes al registro demascotas y actividades de entrenamiento. Incluya los siguientes camposcomo 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

  • DESARROLLO DE 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 ThenMsgBox ("LA MASCOTA YA ESTA REGISTRADA")REGISTRADO = "SI"Exit For

    End IfNext

    If REGISTRADO = "NO" ThenFor I = 1 To 100

    If Cells(I + 2, 5).Value = "" ThenCells(I + 2, 5).Value = TextBox2.TextCells(I + 2, 6).Value = TextBox1.TextCells(I + 2, 7).Value = "SIN CANCELAR"TextBox1.Text = ""TextBox2.Text = ""Exit For

    End IfNext

    End IfEnd Sub

    Registre el cdigo en el botn BORRAR.

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    Private Sub CommandButton2_Click()For I = 1 To 100

    If TextBox2.Text = Cells(I + 2, 5).Value ThenRange(Cells(I + 2, 5), Cells(I + 2, 7)).SelectSelection.ClearContentsRange(Cells(I + 3, 5), Cells(102, 7)).SelectSelection.CutCells(I + 2, 5).SelectActiveSheet.PasteExit For

    End IfNext

    End Sub

    Disee y programe el formulario (USERFORM5) para el registro de lasactividades 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 ThenREGISTRADO = "SI"Cells(I + 2, 9).Value = TextBox1.TextCells(I + 2, 10).Value = TextBox2.Text

    TextBox1.Text =TextBox2.Text =

    Exit ForEnd If

    Next

    If REGISTRADO = "NO" ThenFor I = 1 To 4

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    If Cells(I + 2, 9).Value = "" ThenREGISTRADO = "SI"Cells(I + 2, 9).Value = TextBox1.TextCells(I + 2, 10).Value = TextBox2.Text

    TextBox1.Text =TextBox2.Text =Exit For

    End IfNext

    End IfEnd Sub

    La rutina anterior permite ingresar o actualizar el registro de una actividad,gracias a la variable REGISTRADO. Agregue dos botones en la hojaREGISTRO llamados REG. MASCOTA y REG. ACTIVIDAD con lossiguientes cdigos respectivos:

    Private Sub CommandButton1_Click()UserForm4.Show

    End SubPrivate Sub CommandButton1_Click()

    UserForm5.ShowEnd Sub

    Desbloquee las celdas correspondientes a los registros de ambas tablas(seleccione un todas las filas de las tablas para desbloquearlas, en casocontrario el programa producir un error) y proteja la hoja desde la fichaREVISAR, desmarcando la opcin SELECCIONAR CELDASBLOQUEADAS.

    Ilustracin 162. Proteccin de la hoja registro para el ejercicio 11

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    Elimine las lneas de divisin y encabezados, desmarcando la opcin VERque se encuentra en la ficha DISEO DE PGINA en Office 2007 o en laficha VISTA para Office 2010 (esto debe realizarlo a todas las hojas dellibro).

    Ilustracin 163. Opcin para visualizar las lneas de divisin y encabezados en Microsoft Excel 2010

    Sptimo paso: Programacin de los COMBOBOX del formularioUSERFOM2 (REGISTRO DE ENTRENAMIENTOS)

    Haga doble click en la ventana (USERFORM2), seleccionando elPROCEDIMIENTO ACTIVATE y adicione el siguiente cdigo (se encuentraen color azul).

    Private Sub UserForm_Activate()CommandButton2.Enabled = FalseCommandButton3.Enabled = False

    ComboBox1.ClearComboBox1.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.ClearComboBox2.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.ClearComboBox3.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.ClearComboBox4.AddItem (Sheets("REGISTRO").Cells(3, 9).Value)ComboBox4.AddItem (Sheets("REGISTRO").Cells(4, 9).Value)

  • DESARROLLO DE 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 hojaREGISTRO en cada COMBOBOX, facilitando su seleccin por parte delusuario. Realice una prueba del formulario.

    Octavo paso: Programacin de los botones denominados BUSCAR

    Para finalizar, se programarn los botones BUSCAR de los USERFORM 1y 2. Haga doble click en el botn BUSCAR del primer USERFORM eincluya el cdigo:

    Private Sub CommandButton1_Click()ACIERTO = "NO"For I = 1 To 100

    If TextBox2.Text = Sheets("REGISTRO").Cells(I + 2, 5).Value AndTextBox2.Text "" Then

    ACIERTO = "SI"TextBox1.Text = Sheets("REGISTRO").Cells(I + 2, 6).ValueLabel6.Caption = Sheets("REGISTRO").Cells(I + 2, 7).ValueCommandButton2.Enabled = TrueExit For

    End IfNext

    If ACIERTO = "NO" ThenMsgBox ("LA MASCOTA NO SE ENCUENTRA REGISTRADA")

    End If

    If ACIERTO = "SI" ThenFor I = 1 To 100

    If TextBox2.Text = Sheets("ENTRENAMIENTO").Cells(I + 2, 5).Value ThenTextBox3.Text = Sheets("ENTRENAMIENTO").Cells(I + 2, 7).ValueTextBox4.Text = Sheets("ENTRENAMIENTO").Cells(I + 2, 8).ValueTextBox6.Text = Sheets("ENTRENAMIENTO").Cells(I + 2, 9).ValueTextBox7.Text = Sheets("ENTRENAMIENTO").Cells(I + 2, 10).ValueTextBox9.Text = Sheets("ENTRENAMIENTO").Cells(I + 2, 11).ValueTextBox10.Text = Sheets("ENTRENAMIENTO").Cells(I + 2, 12).ValueTextBox12.Text = Sheets("ENTRENAMIENTO").Cells(I + 2, 13).ValueTextBox13.Text = Sheets("ENTRENAMIENTO").Cells(I + 2, 14).Value

  • DESARROLLO DE APLICACIONES EN MICROSOFT EXCEL

    For J = 1 To 4If 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) ThenTextBox8.Text = Sheets("REGISTRO").Cells(J + 2, 10)

    End If

    If TextBox9.Text = Sheets("REGISTRO").Cells(J + 2, 9) ThenTextBox11.Text = Sheets("REGISTRO").Cells(J + 2, 10)

    End If

    If TextBox12.Text = Sheets("REGISTRO").Cells(J + 2, 9) ThenTextBox14.Text = Sheets("REGISTRO").Cells(J + 2, 10)

    End IfNextExit For

    End IfNext

    End IfEnd Sub

    Si se encuentra la MASCOTA registrada, la variable ACIERTO cambiar suvalor a SI. El fragmento de cdigo siguiente (se ejecuta cuando la variableACIERTO es SI) muestra el traslado de los datos de la hojaENTRENAMIENTO a los TEXTBOX respectivos para las ACTIVIDADESREALIZADAS y FECHA. El cdigo contina verificando el valor de lasactividades.

    Pulse doble click en el botn BUSCAR del USERFORM2 ingresando elsiguiente cdigo.

  • DESARROLLO DE 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 AndTextBox2.Text "" Then

    TextBox1.Text = Sheets("REGISTRO").Cells(I + 2, 6).ValueCommandButton2.Enabled = TrueCommandButton3.Enabled = TrueACIERTO = "SI"Exit For

    End IfNextIf 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 agregarun fragmento de cdigo que actualice el estado de la mascota de SINCANCELAR a CANCELADO. Agregue un botn a la hoja FACTURARdenominado 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 ThenSheets("REGISTRO").Cells(I + 2, 7).Value = "CANCELADO"Range("E6:I9").SelectSelection.ClearContentsExit For

    End IfNext

    ElseMsgBox ("LA FACTURA SE ENCUENTRA CANCELADA")

    End IfEnd Sub

  • DESARROLLO DE 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 preciosregstrelos sin signos y puntuaciones)

    Bsica 1 -> $65.000Bsica 2 -> $75.000Avanzado 1 -> $150.000Avanzado 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 -> 4321Doggy -> 5552Pulgoso -> 3950Pastor -> 2001

    4. Borre la mascota de cdigo 5552 (el resultado preliminar de la hojadebera quedar como se muestra en la siguiente ilustracin).

  • DESARROLLO DE 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 hojaENTRENAMIENTO):

    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 elcdigo 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 elestado de la cuenta pase a CANCELADO.

  • DISEO DE UNA APLICACIN PARA LAGESTIN DE INFORMACIN DOCUMENTALObjetivo: Desarrollo de una aplicacin completa para el registro y control dedocumentos, 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 (eneste ejemplo se utiliz azul oscuro) como fondo de la hoja. Incluya elsiguiente texto: GESTOR D: Software para la Gestin Documental (puedeutilizar 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 lapropiedad CAPTION de cada botn a INGRESAR, ADMINISTRADOR yGUARDAR/SALIR, respectivamente. Cambie el tamao de la letra de losbotones 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 Visual Basic para Aplicaciones, inserte unformulario que incluya los siguientes campos:

    - Usuario (este campo admite los valores secretaria, auditor yadministrador)

    - Clave (mximo 5 caracteres)

    Disee el formulario empleando un control de CUADRO COMBINADO, unCUADRO DE TEXTO, un BOTN DE COMANDO y dos ETIQUETAS.Modifique las propiedades FONT, BACKCOLOR, CAPTION yFORECOLOR para resaltar la ventana. Para el CUADRO DE TEXTOcambie las propiedades MAXLENGTH a 5 y PASSWORDCHAR a *(asterisco).

    Ilustracin 169. Propiedades MaxLength y PasswordChar del control TextBox

    PropiedadesMAXLENGTH yPASWORDCHAR delcontrol CUADRO DETEXTO

    El resultado final del formulario podra verse como se muestra en lasiguiente ilustracin.

    Ilustracin 170. Formulario de acceso para la aplicacin

  • Finalice este paso con la programacin de los botones INGRESAR yADMINISTRADOR que se encuentran en la hoja PORTADA, provocando eldespliegue de la ventana recin creada (USERFORM1). El botnINGRESAR afectar el CUADRO COMBINADO del USERFORM1permitiendo mostrar las opciones SECRETARIA, AUDITOR yADMINISTRADOR en el CUADRO COMBINADO.

    Private Sub CommandButton1_Click()UserForm1.ComboBox1.Enabled = TrueUserForm1.ComboBox1.ClearUserForm1.ComboBox1.AddItem (SECRETARIA)UserForm1.ComboBox1.AddItem (AUDITOR)UserForm1.ComboBox1.AddItem (ADMINISTRADOR)UserForm1.Show

    End Sub

    Por otro lado, el botn ADMINISTRADOR solo mostrar la opcinADMINISTRADOR en el CUADRO COMBINADO como activa, impidiendosu modificacin por parte del usuario.

    Private Sub CommandButton2_Click()UserForm1.ComboBox1.ClearUserForm1.ComboBox1.Text = ADMINISTRADORUserForm1.ComboBox1.Enabled = FalseUserForm1.Show

    End Sub

    Realice una prueba del formulario examinando el funcionamiento preliminarde los controles dispuestos en l.

    Tercer paso: Programacin del botn GUARDAR/SALIR

    Este botn cumplir dos acciones: guardar el documento y salir de laaplicacin. Haga doble click sobre el botn GUARDAR/SALIR e ingrese elsiguiente cdigo:

    Private Sub CommandButton3_Click()ThisWorkbook.SaveThisWorkbook.Close

    End Sub

  • El comando SAVE guarda los cambios realizados en el libro actual(THISWORKBOOK), mientras que el comando CLOSE cierra el libro sinsalir de MS EXCEL.

    Cuarto paso: Finalizacin del diseo de la hoja PORTADA

    Finalice la PORTADA desactivando la opcin TTULOS del men VISTA yprotegiendo la hoja evitando SELECCIONAR LAS CELDASBLOQUEADAS. Asegrese de que la PORTADA sea la primera hoja quemostrar la aplicacin cuando se le d inicio. Para ello dirjase a la interfazde VISUAL BASIC PARA APLICACIONES y haga doble click enTHISWORKBOOK. Modifique el objeto a WORKBOOK, asegurndose deseleccionar el procedimiento OPEN y copie el siguiente cdigo:

    Private Sub Workbook_Open()Sheets(PORTADA).Select

    End Sub

    Quinto paso: Programacin del INGRESO de usuario a la aplicacin

    Cree dos hojas denominadas INICIO y CONTROL. En la hoja CONTROLdisee una pequea tabla con los siguientes capos:

    - Usuario- Clave

    Asigne una clave de 5 dgitos a cada uno de los tipos de usuariosdisponibles (SECRETARIA, AUDITOR y ADMINISTRADOR).

    Ilustracin 171. Usuarios y contraseas de ejemplo para el ejercicio 12

  • En la hoja INICIO coloque cuatro botones (CONTROLES ACTIVE X)denominados REGISTRO, CONSULTA, AUDITORA y CAMBIO DECLAVES, como puede observar en la siguiente ilustracin.

    Ilustracin 172. Botones de men dispuestos en la hoja inicio

    Pulse dos veces sobre el botn INGRESAR del USERFORM1 e incluya elsiguiente cdigo preliminar:

    Private Sub CommandButton1_Click()If ComboBox1.Text = Sheets(CONTROL).Cells(4, 2).Value

    ThenIf TextBox1.Text = Sheets(CONTROL).Cells(4, 3).Value

    ThenSheets(INICIO).CommandButton1.Enabled = TrueSheets(INICIO).CommandButton2.Enabled = TrueSheets(INICIO).CommandButton3.Enabled = FalseSheets(INICIO).CommandButton4.Enabled = FalseSheets(INICIO).Select

    ElseMsgBox (La clave es incorrecta)

    End IfEnd If

    If ComboBox1.Text = Sheets(CONTROL).Cells(5, 2).ValueThen

    If TextBox1.Text = Sheets(CONTROL).Cells(5, 3).Value

  • ThenSheets(INICIO).CommandButton1.Enabled = FalseSheets(INICIO).CommandButton2.Enabled = FalseSheets(INICIO).CommandButton3.Enabled = TrueSheets(INICIO).CommandButton4.Enabled = FalseSheets(INICIO).Select

    ElseMsgBox (La clave es incorrecta)

    End IfEnd If

    If ComboBox1.Text = Sheets(CONTROL).Cells(6, 2).ValueThen

    If TextBox1.Text = Sheets(CONTROL).Cells(6, 3).ValueThen

    Sheets(INICIO).CommandButton1.Enabled = TrueSheets(INICIO).CommandButton2.Enabled = TrueSheets(INICIO).CommandButton3.Enabled = TrueSheets(INICIO).CommandButton4.Enabled = TrueSheets(INICIO).Select

    ElseMsgBox (La clave es incorrecta)

    End IfEnd If

    UserForm1.HideEnd Sub

    Este cdigo permitir comparar si la clave digitada de acuerdo al usuario escorrecta; en caso tal, se proceder a activar o desactivar los botonesdispuestos en la hoja INICIO de acuerdo a un nivel de seguridad porusuario.

    - SECRETARIA: Solo dispondr del REGISTRO y CONSULTA dedocumentos.

    - AUDITOR: Solo dispondr de la opcin AUDITORA.- ADMINISTRADOR: Tiene todas las opciones disponibles. El

    ADMINISTRADOR ser el nico autorizado para el cambio declaves..

    Edite el procedimiento ACTIVATE del USERFORM1 para borrar elcontenido del control TEXTBOX1.

  • Private Sub UserForm_Activate()TextBox1.Text =

    End Sub

    Para finalizar desbloquee las celdas correspondientes a las claves de losusuarios en la hoja CONTROL y proceda a proteger la hoja (no se le olvidedesactivar la opcin TTULO en el men VISTA).

    Sexto paso: Registro de documentos

    En la hoja INICIO incluya los siguientes campos en una tabla para 500registros:

    - CDIGO (se manejar el cdigo de barra tipo CODE 39 con unmximo de 13 dgitos)

    - FECHA- ORIGEN- DESTINO- DE:- PARA:

    Ilustracin 173. Tabla para el registro de documentos

  • Inserte un nuevo formulario (USERFORM2) que incluya los camposanteriores. En este caso se adicionaron tres botones denominados HOY,REGISTRAR y CANCELAR. Los campos ORIGEN, DESTINO, DE: yPARA: se relacionarn con controles tipo CUADROS COMBINADO,mientras que el CDIGO y la FECHA con CUADROS DE TEXTO.

    Ilustracin 174. Formulario para el registro de documentos

    Modifique la opcin MAXLENGTH a 13 y TABINDEX a 0 (cero) delTEXTBOX1. La propiedad TABINDEX permite especificar el orden deubicacin de un objeto al pulsar la tecla TAB. Al configurar el TEXTBOX1con un TABINDEX igual a 0 (cero), se obliga a posicionar el cursor en elcontrol al momento de mostrar la ventana.

    Cambie la propiedad ENABLED del TEXTBOX2, los COMBOBOX, el botnHOY y el botn REGISTRAR a FALSE. Estos controles se debern activarsolo si el cdigo cumple con los 13 dgitos de longitud y ste no seencuentra an registrado en la aplicacin.

    Al presionar el botn HOY se mostrar en el TEXTBOX (TEXTBOX2)correspondiente al campo FECHA, la fecha actual del sistema con elcomando DATE.

    Private Sub CommandButton1_Click()TextBox2.Text = Date

    End Sub

    Para verificar si el cdigo es correcto, deber hacer doble click sobre elprimer TEXTBOX (TEXTBOX1) e incluir la siguiente rutina.

  • Private Sub TextBox1_Change()Encontrado = "NO"If TextBox1.TextLength = 13 Then

    For I = 1 To 100If TextBox1.Text = Cells(I + 2, 7).Value Then

    Encontrado = "SI"Exit For

    End IfNext

    End If

    If TextBox1.TextLength = 13 ThenIf Encontrado = "NO" Then

    TextBox2.Enabled = TrueCommandButton1.Enabled = TrueComboBox1.Enabled = TrueComboBox2.Enabled = TrueComboBox3.Enabled = TrueComboBox4.Enabled = TrueCommandButton2.Enabled = True

    ElseTextBox2.Enabled = FalseCommandButton1.Enabled = FalseComboBox1.Enabled = FalseComboBox2.Enabled = FalseComboBox3.Enabled = FalseComboBox4.Enabled = FalseCommandButton2.Enabled = False

    End IfEnd IfEnd Sub

    La programacin de este control comienza con la inicializacin de la variableENCONTRADO en NO, valor que cambia a SI en caso de que el cdigodigitado en el TEXTBOX1 coincida con un cdigo anteriormente registrado.Para poder ejecutar el ciclo PARA y dar inicio a la bsqueda del cdigo, seevala que el contenido de caracteres del TEXTBOX1 sea igual a 13gracias a la propiedad TEXTLENGTH.

    Si el cdigo es encontrado los controles se mantendrn con la propiedadENABLED en FALSE, en caso contrario, se activarn los controlescorrespondientes a la informacin de registro de un nuevo documento.

  • Contine el ejercicio ingresando el cdigo para el botn REGISTRAR(COMMANDBUTTON2) y CANCELAR (COMMANDBUTTON3).

    Private Sub CommandButton2_Click()For I = 1 To 100

    If Cells(I + 2, 7).Value = "" ThenCells(I + 2, 7).Value = Str(TextBox1.Text)Cells(I + 2, 8).Value = TextBox2.TextCells(I + 2, 9).Value = ComboBox1.TextCells(I + 2, 10).Value = ComboBox2.TextCells(I + 2, 11).Value = ComboBox3.TextCells(I + 2, 13).Value = ComboBox4.TextUserForm2.HideExit For

    End IfNext

    End Sub

    Private Sub CommandButton3_Click()UserForm2.Hide

    End Sub

    Programe el botn REGISTRO de la hoja INICIO para poder desplegar elUSERFORM2.

    Private Sub CommandButton1_Click()UserForm2.Show

    End Sub

    Sptimo paso: Programacin de los COMBOBOX del USERFORM2

    Se cuenta con un listado de dependencias de origen y destino, al igual queun listado del personal que labora en la empresa. Para incluir lo en losCOMBOBOX respectivos del USERFORM2, inserte una nueva hojallamada AUDITORA con el contenido que se muestra en la siguienteilustracin.

  • Ilustracin 175. Registro de dependencias y personal

    Haga doble click sobre el USERFORM2, seleccione el procedimientoACTIVATE e ingrese la siguiente rutina.

    Private Sub UserForm_Activate()TextBox1.Text = ""TextBox2.Text = ""

    ComboBox1.ClearComboBox2.ClearFor I = 1 To 11

    ComboBox1.AddItem (Sheets("AUDITORIA").Cells(2 + I, 2).Value)ComboBox2.AddItem (Sheets("AUDITORIA").Cells(2 + I, 2).Value)

    Next

    ComboBox3.ClearComboBox4.ClearFor I = 1 To 11

    ComboBox3.AddItem (Sheets("AUDITORIA").Cells(2 + I, 6).Value)ComboBox4.AddItem (Sheets("AUDITORIA").Cells(2 + I, 6).Value)

    NextEnd Sub

    Realice una prueba del formulario completo.

    Octavo paso: Bsqueda de documentos

    Cree un nuevo USERFORM (con la propiedad CAPTION igual aBUSQUEDA) e incluya los siguientes controles:

  • Ilustracin 176. Formulario de bsqueda de documentos

    Modifique la propiedad TABINDEX del TEXTBOX1 a 0. Deshabilite losTEXTBOX del 2 al 6 (correspondientes a los campos FECHA, ORIGEN,DESTINO, DE y PARA). Pulse dos veces sobre el TEXTBOX1 e inserte enla siguiente rutina:

    Private Sub TextBox1_Change()Encontrado = "NO"For I = 1 To 100

    If Cells(2 + I, 7).Value = TextBox1.Text ThenTextBox2.Text = Cells(2 + I, 8).ValueTextBox3.Text = Cells(2 + I, 9).ValueTextBox4.Text = Cells(2 + I, 10).ValueTextBox5.Text = Cells(2 + I, 11).ValueTextBox6.Text = Cells(2 + I, 13).ValueEncontrado = SIExit For

    End IfNextIf (TextBox1.TextLength = 13) And (Encontrado = "NO") Then

    TextBox2.Text = ""TextBox3.Text = ""TextBox4.Text = ""TextBox5.Text = ""TextBox6.Text = ""TextBox1.SelStart = 0TextBox1.SelLength = 13

    End IfEnd Sub

  • El comando SELSTART permite ubicar el cursor en un punto determinadodel texto, mientras que el comando SELLENGTH selecciona el texto deacuerdo a una longitud programada (en este caso igual a 13), partiendo dela posicin actual del curso. Esta rutina permitir agilizar la bsqueda de losdocumentos. Programe el botn CANCELAR del USERFORM para ocultarla ventana.

    Private Sub CommandButton1_Click()UserForm3.Hide

    End Sub

    Haga doble click sobre el USERFORM3 y en el procedimiento ACTIVATEincluya:

    Private Sub UserForm_Activate()TextBox1.Text = ""TextBox2.Text = ""TextBox3.Text = ""TextBox4.Text = ""TextBox5.Text = ""TextBox6.Text = ""

    End Sub

    Para finalizar este paso, programe el botn CONSULTA de la hoja INICIOpara poder mostrar el USERFORM3.

    Private Sub CommandButton2_Click()UserForm3.Show

    End Sub

    Noveno paso: Auditora de documentos

    El procedimiento para la auditora consiste en mantener un contador de lasveces que se han enviado o recibido documentos. Para cumplir con estatarea, adicione la frmula CONTAR.SI en la hoja AUDITORIA por cadadependencia o personal. En el parmetro RANGO seleccione las celdascorrespondientes a los registros que estn en la hoja INICIO, por ejemplo, elRANGO para las ENTRADAS para las dependencias se relaciona con lasceldas del campo ORIGEN (fij las celdas con F4) y las SALIDAS con lacolumna DESTINO. Para el personal el RANGO para las ENTRADASequivale a la columna DE y las salidas con el campo PARA.

  • Ilustracin 177. Uso de la funcin Contar.Si en la hoja auditora

    El CRITERIO equivale al nombre de la dependencia (o del personal).

    Ilustracin 178. Uso de la funcin Contar.Si

    Incluya una tabla y grfica que muestren el total de ENTRADAS y SALIDASde documentos de las dependencias (si an no tiene datos registrados, nose mostrar la grfica).

    Ilustracin 179. Tabla y grfico resumen de documentos

  • Incluya la siguiente lnea de cdigo para el botn AUDITORA de la hojaINICIO.

    Private Sub CommandButton3_Click()Sheets("AUDITORIA").Select

    End Sub

    En la hoja AUDITORIA inserte un botn llamado REGRESAR, con laprogramacin correspondiente que permita regresar a la hoja INICIO.

    Private Sub CommandButton1_Click()Sheets("INICIO").Select

    End Sub

    La imagen final de la hoja AUDITORIA se puede ver a continuacin.

    Ilustracin 180. Diseo final de la hoja auditora

    Dcimo paso: Programacin del CAMBIO DE CLAVE

    Para facilitar al ADMINISTRADOR el cambio de clave, disee el siguienteformulario.

  • Ilustracin 181. Formulario para el cambio de clave

    En el procedimiento ACTIVATE del USERFORM escriba la siguiente rutina:

    Private Sub UserForm_Activate()ComboBox1.ClearComboBox1.AddItem ("SECRETARIA")ComboBox1.AddItem ("AUDITOR")ComboBox1.AddItem ("ADMINISTRADOR")

    TextBox1.Text = ""TextBox2.Text = ""

    CommandButton1.Enabled = FalseTextBox1.Enabled = False

    End Sub

    Cambie el valor de la propiedad STYLE del COMBOBOX a 2-FMSTYLEDROPDOWNLIST. Esta alteracin de la propiedad bloquear elingreso directo de texto en el control, limitando al ADMINISTRADOR, aseleccionar solo los usuarios anteriormente programados. Para mostrar laCLAVE ACTUAL, pulse dos veces sobre el COMBOBOX1 e ingrese lassiguientes lneas de cdigo:

    Private Sub ComboBox1_Change()If ComboBox1.Text = "SECRETARIA" Then

    TextBox1.Text = Sheets("CONTROL").Cells(4, 3).ValueElse

    If ComboBox1.Text = "AUDITOR" ThenTextBox1.Text = Sheets("CONTROL").Cells(5, 3).Value

    ElseTextBox1.Text = Sheets("CONTROL").Cells(6, 3).Value

  • End IfEnd IfEnd Sub

    Modifique la propiedad MAXLENGTH del TEXTBOX2 a 5. Haga doble clicksobre ste control e incluya:

    Private Sub TextBox2_Change()If TextBox1.TextLength > 0 Then

    CommandButton1.Enabled = TrueEnd If

    End Sub

    Estas lneas de cdigo permiten activar el botn MODIFICAR para realizarun cambio de clave. La programacin del botn REGISTRO se muestra acontinuacin.

    Private Sub CommandButton1_Click()If ComboBox1.Text "" Then

    If ComboBox1.Text = "SECRETARIA" ThenSheets("CONTROL").Cells(4, 3).Value = TextBox2.TextUserForm4.Hide

    ElseIf ComboBox1.Text = "AUDITOR" Then

    Sheets("CONTROL").Cells(5, 3).Value = TextBox2.TextUserForm4.Hide

    ElseSheets("CONTROL").Cells(6, 3).Value = TextBox2.TextUserForm4.Hide

    End IfEnd If

    ElseMsgBox ("DEBE SELECCIONAR UN USUARIO")

    End IfEnd Sub

    Finalice el cambio de clave incluyendo la programacin del botnCANCELAR del USERFORM4 (COMMANDBUTTON2) y del botnCAMBIO DE CLAVE de la hoja INICIO (COMMANDBUTTON4).

  • Private Sub CommandButton2_Click()UserForm4.Hide

    End Sub

    Private Sub CommandButton4_Click()UserForm4.Show

    End Sub

    Realice una prueba del formulario modificando la clave de la SECRETARIApor 55555.

    Ilustracin 182. Prueba del formulario para el cambio de clave

    Undcimo paso: Proteccin de las hojas

    Proteja completamente las hojas PORTADA y AUDITORIA, desactivando laopcin SELECCIONAR CELDAS BLOQUEADAS. Oculte la hojaCONTROL.

    Ilustracin 183. Proteccin de la hoja auditora

  • Desproteja las celdas de la tabla correspondiente al ingreso de losdocumentos, y proceda a proteger la hoja INICIO, desactivando lasopciones de SELECCIONAR CELDAS BLOQUEADAS yDESBLOQUEADAS. Desmarque las casillas MOSTRAR FICHAS DEHOJAS y MOSTRAR BARRA DE DESPLAZAMIENTO VERTICAL de laventana de OPCIONES DE EXCEL.

    Ilustracin 184. Desmarque de las casillas mostrar fichas de hojas y mostrar barra de desplazamiento vertical

    Realice una prueba general de la aplicacin empleando un lector de cdigode barras configurado para leer el formato CODE 39.

    Ilustracin 185. Ejemplo de un cdigo de barras segn el formato Code 39.

    * 1 2 3 4 5 6 7 8 9 0 1 2 3 *