Beruflich Dokumente
Kultur Dokumente
INCAP INSTITUTO COLOMBIANO DE APRENDIZAJE TALLER LOGRO 3 TEMA: Macros Visual Basic Application OBJETIVOS: Aprender y disear macros VBA para automatizar procesos
4. Ahora graba la macro grabada dando clic en el Botn de Office, colcale el nombre de MACROS6_FORMULARIOS VBA, luego en tipo de archivo, escoge la opcin LIBRO DE EXCEL HABILITADO PARA MACROS, fjate que te colocar el nombre del archivo asignado con la extensin . XLSM 5. Luego da clic en el men Insertar - Userform y luego trascribe la siguiente macro: 6. En la ventana de Cuadro de Herramientas, inserta los siguientes controles: 3 = Etiquetas (Label) 2 = Cuadros de Textos (Textbox) 3 = Botn de Comando (Command Button) 2 = Cuadro de lista (Listbox) 3 = Botn de opcin (OptionButton) 3= Marco (Frame)
7. El aspecto del formulario debe ser el siguiente: En las propiedades del Formulario (UserForm1) en el parmetro Caption: coloca
INGRESO DE EMPLEADOS
INCAP INSTITUTO COLOMBIANO DE APRENDIZAJE TALLER LOGRO 3 TEMA: Macros Visual Basic Application OBJETIVOS: Aprender y disear macros VBA para automatizar procesos COLOCACION DE TITULOS EN LOS CONTROLES INSERTADOS EN FORMULARIO
Para nombrar los controles procederemos as: Dar clic sencillo en cada control y colocar el nombre correspondiente O En las propiedades de cada control Etiqueta en el parmetro Caption : coloca los nombres correspondientes (APELLIDO, NOMBRE, SERVICIO) En la propiedades del Botn de comando (CommandButton) en el parmetro Caption: coloca los nombres correspondientes ( NUEVO, ACEPTAR, CERRAR) y En el parmetro (Name) colocar los nombres (Cmdnuevo, Cmdvalidar, Cmdcerrar)
INCAP INSTITUTO COLOMBIANO DE APRENDIZAJE TALLER LOGRO 3 TEMA: Macros Visual Basic Application OBJETIVOS: Aprender y disear macros VBA para automatizar procesos
If bNuevo <> True Then Mostrar_Empleados ' Nuevo empleado por defecto bNuevo = True End If
End Sub Ahora dar doble clic en el botn ACEPTAR Private Sub cmdValidar_Click()
Dim rng As Range Dim i As Integer ' Control de datos ingresados If txtApel = "" Or txtApel = "" _ Or IsNull(lstServicios) Then MsgBox "Nombre, apellido y servicio obligatorio", _ vbExclamation, strAppName txtNombre.SetFocus Exit Sub End If If Not (OptSr Or optSra Or optSrta) Then MsgBox "Tratamiento obligatorio", vbExclamation, strAppName OptSr.SetFocus
INCAP INSTITUTO COLOMBIANO DE APRENDIZAJE TALLER LOGRO 3 TEMA: Macros Visual Basic Application OBJETIVOS: Aprender y disear macros VBA para automatizar procesos
Exit Sub End If With ThisWorkbook.Worksheets("Empleados") ' Agrega el empleado en la primera fila vaca If bNuevo = True Then Set rng = .Range("A3").CurrentRegion i = rng.Rows.Count + 3 End If If OptSr Then .Cells(i, 1) = "Sr." ElseIf optSra Then .Cells(i, 1) = "Sra." Else .Cells(i, 1) = "Srta." End If .Cells(i, 3) = Empleados.txtNombre .Cells(i, 2) = Empleados.txtApel .Cells(i, 4) = Empleados.lstServicios ' Ordenar empleados Ordenar_Empleados End With ' Muestra la lista de empleados If bNuevo Then Mostrar_Empleados Inicializa_Empleados bNuevo = True
End Sub Ahora dar doble clic en el botn CERRAR Private Sub cmdCerrar_Click()
' Pide confirmacin y cierra el formulario If MsgBox("Desea terminar el ingreso ?", _ vbQuestion + vbYesNo, strAppName) = vbYes Then Unload Me End If
End Sub Ahora dar doble clic en el botn NUEVO Private Sub cmdNuevo_Click()
' Inicializa la ficha Empleados Inicializa_Empleados bNuevo = True
INCAP INSTITUTO COLOMBIANO DE APRENDIZAJE TALLER LOGRO 3 TEMA: Macros Visual Basic Application OBJETIVOS: Aprender y disear macros VBA para automatizar procesos End Sub Private Sub Ordenar_Empleados()
Dim rng As Range ' Ordena la lista de empleados por apellido y nombre Set rng = Worksheets("Empleados").Range("A3").CurrentRegion rng.Sort Key1:=Range("B3"), Order1:=xlAscending, _ Key2:=Range("C3"), Order2:=xlAscending, _ Header:=xlYes
INCAP INSTITUTO COLOMBIANO DE APRENDIZAJE TALLER LOGRO 3 TEMA: Macros Visual Basic Application OBJETIVOS: Aprender y disear macros VBA para automatizar procesos
End If Next j End With
End Sub
9. Luego vamos a insertar un control de Botn de comando en la hoja de clculo de Excel, para ello da clic en el men Programador de Excel y luego selecciona Insertar y da clic en la seccin de Controles Active X y escoge Botn de comando (Command Button) 10. A continuacin dele clic derecho seleccione Objeto de Comando y seleccione Modifica y escriba INGRESO DE EMPLEADOS 11. Ahora dele doble clic para abrir el Editor de Visual Basic (VBE), y aparecer el ttulo: Private Sub CommandButton1_Click(), ahora escriba el siguiente cdigo: Private Sub CommandButton1_Click() UserForm1.Show End Sub 12. Para ejecutar la macro finalmente vaya al men Programador y dele clic en el icono Modo de diseo macro sin ningn problema para salir de ese modo y ahora si podr aplicar la