TALLER LOGRO 3 TEMA: Macros Visual Basic Application OBJETIVOS: Aprender y disear macros VBA para automatizar procesos
TALLER MACROS VBA EXCEL 2010
El formador dice y hace VBA significa Visual Basic for Application. Es un lenguaje de programacin que surge de Visual Basic (VB). VBA de Excel est adaptado a Excel, para trabajar con celdas, hojas, autofiltro etc. (es decir, los objetos de la aplicacin Excel).
El Editor de Visual Basic (VBE)
El lenguaje de programacin que utiliza Excel para trabajar con macros es el VBA (Visual Basic Application) que como podemos deducir est basado en Visual Basic
El formador dice y el estudiante hace
PRACTICA 1 Ahora vamos a abrir un archivo de Excel nuevo y crearemos una macro VBA aplicada a una hoja de clculo donde insertaremos varios registros de empleados DANE con sus datos bsicos y aplicando un formulario de VBA, siga los pasos indicados a continuacin: 1. Trascribe la tabla (ver imagen) coloca los campos en el mismo sitio donde aparecen.
2. Ve al men programador y da clic en
Editor de Visual Basic
donde luego le aparecer la ventana del
INCAP INSTITUTO COLOMBIANO DE APRENDIZAJE
TALLER LOGRO 3 TEMA: Macros Visual Basic Application OBJETIVOS: Aprender y disear macros VBA para automatizar procesos 3. Ahora graba la macro grabada dando clic en el Botn de Office, colcale el nombre de MACROS2_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 4. Luego da clic en el men Insertar - Userform y luego trascribe la siguiente macro: 5. En la ventana de Cuadro de Herramientas, inserta los siguientes controles : 5 = Etiquetas (Label) 3 = Cuadros de Textos (Textbox) 3 = Marco de Controles (Frame) 1= Cuadro combinado (Combobox) 1= Barra de desplazamiento(ScrollBar) 1=Control de Nmero(SpinButton) 5=Botn de opcin (Option button) 2=Casilla de verificacin (CheckBox) 3 = Botn de Comando (Command Button)
6. El aspecto del formulario debe ser el siguiente:
INCAP INSTITUTO COLOMBIANO DE APRENDIZAJE
TALLER LOGRO 3 TEMA: Macros Visual Basic Application OBJETIVOS: Aprender y disear macros VBA para automatizar procesos En las propiedades del Formulario (UserForm1) en el parmetro Caption: coloca CAPTURA DE EMPLEADOS DANE
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 en el parmetro Caption : coloca los nombres correspondientes (NOMBRES Y APELLIDOS,CIUDAD DE NACIMIENTO,ETC) En la propiedades de los Marcos de controles (Frame) en el parmetro Caption: coloca los nombres correspondientes (SEXO, ESTADO CIVIL Y TIPO DE CONTRATO) En la propiedades del Botn de comando (CommandButton) en el parmetro Caption: coloca los nombres correspondientes (ACEPTAR, CANCELAR Y CERRAR)
CODIGO VISUAL BASIC PARA LOS CONTROLES DE FORMULARIO
Escriba en el entorno VBA los siguientes cdigos de programacin de acuerdo a indicaciones del formador CODIGO PARA EL BOTN ACEPTAR Private Sub CommandButton1_Click() NOM = TextBox1.Text CIU = ComboBox1.Value EDA = SpinButton1.Value SUE = Val(ScrollBar1.Value) If OptionButton1 = True Then SEX = " HOMBRE" If OptionButton2 = True Then SEX = " MUJER" If OptionButton3 = True Then EC = " SOLTERO(A)" If OptionButton4 = True Then EC = " CASADO(A)"
INCAP INSTITUTO COLOMBIANO DE APRENDIZAJE
TALLER LOGRO 3 TEMA: Macros Visual Basic Application OBJETIVOS: Aprender y disear macros VBA para automatizar procesos If OptionButton5 = True Then EC = " VIUDO(A)" If CheckBox1 = True Then EST = " SI" Else EST = "NO" End If If CheckBox2 = True Then TIPO = " SI " Else TIPO = " NO" End If Sheets("HOJA1").Select Range("A3").Select While ActiveCell.Value <> "" ActiveCell.Offset(1, 0).Select Wend ActiveCell.Offset(0, 0).Range("A1").Select ActiveCell.Value = NOM ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell.Value = CIU ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell.Value = EDA ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell.Value = SUE
INCAP INSTITUTO COLOMBIANO DE APRENDIZAJE
TALLER LOGRO 3 TEMA: Macros Visual Basic Application OBJETIVOS: Aprender y disear macros VBA para automatizar procesos ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell.Value = SEX ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell.Value = EC ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell.Value = EST ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell.Value = TIPO TextBox1 = Empty TextBox2 = Empty TextBox3 = Empty ComboBox1 = Empty OptionButton1 = Empty OptionButton2 = Empty OptionButton3 = Empty OptionButton4 = Empty OptionButton5 = Empty CheckBox1 = Empty CheckBox2 = Empty End Sub CODIGO PARA EL BOTN CANCELAR Private Sub CommandButton2_Click() End Sheets("HOJA1").Select
INCAP INSTITUTO COLOMBIANO DE APRENDIZAJE
TALLER LOGRO 3 TEMA: Macros Visual Basic Application OBJETIVOS: Aprender y disear macros VBA para automatizar procesos End Sub CODIGO PARA EL BOTN CERRAR Private Sub CommandButton3_Click() End End Sub CODIGO PARA EL CONTROL DESPLAZAMIENTO - SCROLL BAR1 (SUELDO) Private Sub ScrollBar1_Change() TextBox3.Text = ScrollBar1.Value End Sub Ahora da clic sobre el control de desplazamiento y en la ventana propiedades coloca los siguientes parmetros en: LargeChange, Max, Min, SmallChange
CODIGO PARA EL CONTROL DE NUMERO SPINBUTTON1 (EDAD)
Private Sub SpinButton1_Change()
INCAP INSTITUTO COLOMBIANO DE APRENDIZAJE
TALLER LOGRO 3 TEMA: Macros Visual Basic Application OBJETIVOS: Aprender y disear macros VBA para automatizar procesos TextBox2.Text = SpinButton1.Value End Sub CODIGO PARA EL CONTROL CUADRO COMBINADO (CIUDAD) COMBOBOX1 AL MOMENTO DE CARGAR EL FORMULARIO Private Sub UserForm_Initialize() Sheets("HOJA1").Select Range("A3:H3").Interior.ColorIndex = 4 For I = 3 To 9 Cells(I, 11).Select ComboBox1.AddItem ActiveCell.Value Next I End Sub 7. 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)
8. A continuacin dele clic derecho seleccione Objeto de Comando y seleccione
Modifica y escriba EJECUTAR FORMULARIO 9. 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
INCAP INSTITUTO COLOMBIANO DE APRENDIZAJE
TALLER LOGRO 3 TEMA: Macros Visual Basic Application OBJETIVOS: Aprender y disear macros VBA para automatizar procesos 10. Para ejecutar la macro finalmente vaya al men Programador y dele clic en el icono Modo de diseo macro sin ningn problema