Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Especialista en Excel
Avanzado – Sesión 4
Nombre sesión
Condicionales y bucles
Logro
Desarrollar procesos lógicos y control de datos
Temas
1. Estructuras de Control
Instrucción INPUTBOX
Permite ingresar datos del tipo texto desde un panel almacenarlos en memoria a través de un
identificado o variable.
Sintaxis:
NombreVariable=InputBox(“Mensaje”,”Titulo”)
Instrucción MSGBOX
Utilizado para enviar mensajes en un cuadro de dialogo, devolviendo un valor de tipo entero en función
al botón pulsado.
Sintaxis:
MsgBox(Mensaje, Botones, Titulo)
3. Escribir un nombre para el modulo a crear ejm. Sub PaneIngreso y pulsa enter y quedara una
ventana como la siguiente:
Excel Avanzado 1
IDAT MICROSOFT EXCEL
5. Ejecute el Codigo VBA pulsando la tecla [F5] y tendrás un panel en el libro para el ingreso del
nombre de un producto.
Sintaxis:
If condición Then
Sentencias si cumple condición
Else
Sentencias si NO cumple condición
End If
Ejemplo: ingrese un numero diferente a cero a través de un panel y determine si el numero ingresado
es positivo o negativo
Excel Avanzado 2
IDAT MICROSOFT EXCEL
Resultado
Excel Avanzado 3
IDAT MICROSOFT EXCEL
Sentencia FOR-NEXT
Permite ejecutar una o más instrucciones un numero definido de veces
Sintaxis:
For variable=Valor inicial To valor final Step incremento
instrucciones
Next
Total = 0
For I= 1 to 5
Sueldo = Val(InputBox(“Ingrese Sueldo del trabajador: “, “Panel de Ingreso”))
Total = Total + Sueldo
Netx
Range(“A1”).Value = Total
Excel Avanzado 4
IDAT MICROSOFT EXCEL
DO WHILE/LOOP
Permite repetir una o más instrucciones, mientras se cumpla con la condición. Del bucle
Sintaxis:
Do While (Condición)
Instrucciones
Loop
Ejercicio: elaborara una aplicación que procesara datos de matrículas de estudiantes para una
institución educativa técnica profesional, para tal caso se ingresara los siguientes datos por alumno:
• Codigo del estudiante
• Nombres y apellidos
• Carrera profesional
• Turno
• Pensión
BASE DE DATOS
Inserte 2 rectángulos que nos permita asignar la macro para abrir los formularios “FORMULARIO
MATRICULA” y “FORMULARIO BUSQUEDA”
Ingrese las carreras profesionales y turno disponibles según la imagen líneas arriba.
Crear nombres de rango “CARRERA” celdas J2:J7 y “TURNO” celdas K2:K4.
Excel Avanzado 5
IDAT MICROSOFT EXCEL
Control Nombre
UserForm (Formulario) FrmAlumno
1er Cuadro de texto TxtCodigo
2do Cuadro de texto TxtNomApe
1er ComboBox CmbCarrera
2do ComboBox CmbTurno
Etiqueta (Color Verde) LblPension
1er Botón comando BtnRegistrar
2do Botón comando BtnNuevo
3er Botón comando BtnSalir
Los datos ingresados en el formulario pasaran a la base de datos, todo el procedimiento indicado se
encuentra líneas abajo.
Excel Avanzado 6
IDAT MICROSOFT EXCEL
duplicado = False
ultfila = Cells(Rows.Count, 1).End(xlUp).Row + 1
fila = Application.WorksheetFunction.CountA(Range("TablaAlumno[Codigo]"))
For x = 1 To fila
If Cells(x + 1, 1).Value = Me.TxtCodigo.Text Then
MsgBox "Dato duplicado en la FILA" & x
duplicado = True
End If
Next
'Si es verdadero existe duplicado y si es falso no existe duplicado
'entonces hay que guardar el registro
If Not duplicado Then
Cells(ultfila, 1).Value = Me.TxtCodigo.Text
Cells(ultfila, 2).Value = Me.TxtNomApe.Text
Cells(ultfila, 3).Value = Me.CmbCarrera.Text
Cells(ultfila, 4).Value = Me.CmbTurno.Text
Cells(ultfila, 5).Value = Me.LblPension.Caption
End If
End Sub
Excel Avanzado 7
IDAT MICROSOFT EXCEL
Cuadro de texto
Etiqueta
Etiqueta
Cuadro de lista (ListBox)
Etiqueta
Etiqueta
Etiqueta
Excel Avanzado 8
IDAT MICROSOFT EXCEL
Control Nombre
UserForm (Formulario) FrmConsulta
Cuadro de texto TxtNomApe
Cuadro de lista LstDato
1ra Etiqueta LblCodigo
2da Etiqueta LblNomApe
3ra Etiqueta LblCarrera
4ta Etiqueta LblTurno
5ta Etiqueta LblPension
Botón de comando BtnFinalizar
El cuadro de lista estará divido por cinco columnas por lo tanto habrá que definirlo en el panel de
propiedades, escriba 5 en la propiedad Column count.
El proceso de búsqueda de matriculados se realizará por el campo Nombre y Apellidos a medida que
se vaya escribiendo en el cuadro de texto, en contenido que vaya encontrando lo mostrara en el
cuadro de lista, si selecciona algún dato de una fila estos pasaran al cuadro derecho llamado “Alumno
Seleccionado”.
Excel Avanzado 9
IDAT MICROSOFT EXCEL
CODIGO PARA DEFINIR EL ANCHO QUE TENDRA LAS COLUMNAS DEL CUADRO DE LISTA.
Private Sub UserForm_Activate()
Me.LstDato.ColumnWidths = "55 ; 90; 120 ; 40 ; 30"
End Sub
Excel Avanzado 10