Programacion. Guía Macros VBA
Arturo Monteiro VelosoExamen24 de Mayo de 2016
2.956 Palabras (12 Páginas)470 Visitas
Guía Macros VBA
Analizaremos el ingreso de información a Hoja1 a través de las llamadas a dos formularios desde dos botones de comando. También se llamará al formulario 1 desde el texto WorArt a través de una macro diseñada en un módulo de VBA.
El diseño de Hoja1 es: [pic 1]
Notas Cuso Excel Avanzado es un objeto WordArt (Texto decorativo)
Agregar desde Form1 es un botón de comando tipo ActiveX (ver anexo 1)
Agregar desde Form2 es un botón de comando tipo ActiveX
Alumno y Nota Final son textos digitados en celdas A12 y B12 respectivamente
Para crear WORDART: En Hoja1 de Excel Clic en menú INSERTAR, clic en ícono Wordart (del recuadro Texto)
Tarea: Crear el WordAr del ejemplo
Para crear objeto Activex: Clic en menú Programador, clic en ícono Insertar, clic en objeto botón de comando del cuadro de controles Activex, finalmente diseñar el tamaño y ubicación del botón.
Para cambiar el texto del botón debe ir a las propiedades del botón y digitar en la propiedad Caption lo deseado. Para modificar las propiedades debe estar en modo diseño de la ficha Programador y seleccionar el objeto respectivo (en este caso un botón de comando para finalmente, ir a sus propiedades (ícono Propiedades o botón derecho del mouse).
Resumiendo: clic en menú Programador, clic en Modo diseño (debe quedar amarillo), clic en el botón de comando (debe quedar rodeado de círculos blancos) y clic en ícono Propiedades del menú Programador. Aparecerá un menú con todas las propiedades del botón de comando. Digitar en el valor de la propiedad Caption lo solicitado.
Tarea 1: Crear y diseñar los dos botones de comando solicitados
Tarea 2: Crear los textos solicitados
Solución:
Diseño de Primer Formulario
[pic 2]
Este formulario consta de siete objetos
1 Formulario contenedor llamado userform1
3 Etiquetas que permiten identificar lo que se va a realizar. Label1, Label2 y Label3
2 Cuadros de texto o TextBox1 y TextBox2
1 Botón de comando que al darle un clic permitirá controlar el ingreso de datos. CommandButton1
Pasos para su creación y diseño
Primero se debe crear el formulario anexo al libro Excel abierto para ello Clic en menú Programador, clic en ícono Visual Basic. Aparecerá la ventana editor de Visual Basic (la obtiene también presionando tecla ALT y luego tecla F11)
En barra menú hacer clic en opción Insertar y luego clic en submenú USERFORM
Aparecerá el formulario llamado UserForm1
Antes de continuar ingresando objetos al UserForm1 veamos la figura anterior correspondiente al editor de visual basic. En ella aparece el formulario llamado UserForm1. Las primeras filas corresponden a las barras de herramientas del editor. Un recuadro pertenece al explorador de proyectos que permite acceder a todos los elementos que conforman este trabajo, llamado generalmente proyecto (Hojas, formularios, módulos)
Otro recuadro pertenece a las propiedades del objeto actualmente enfocado. En Propiedades puede cambiar en modo diseño por ejemplo la apariencia del objeto o su nombre
Otro recuadro se denomina cuadro de herramientas con el cual se pueden agregar objetos al formulario.
Para activar el explorador de proyectos hacer clic en menú Ver y clic en submenú explorador de proyecto (también lo puede realizar presionando tecla CTRL y luego tecla R
Para activar la ventana propiedades hacer clic en menú Ver y clic en submenú propiedades (también lo puede realizar presionando tecla F4
Para activar la ventana cuadro de herramientas hacer clic en la opción o ícono cuadro de herramientas ubicado en la barra de herramientas
Creación y diseño de los demás objetos dentro de UserForm1
Creación y diseño de etiquetas o Label
En el cuadro de herramienta hacer clic en Etiqueta (ícono de letra A), luego se ubica dentro del formulario en algún lugar determinado y sin soltar la tecla izquierda del mouse crea y diseña el objeto Label1 a su gusto. Si se equivocó o no le gustó puede volver a seleccionarlo y tomándolo de los bordes y lo rediseña.
Estando seleccionado el objeto en ventana propiedades puede modificar sus atributos, por ejemplo el nombre
Siguiendo el mismo derrotero pero seleccionando otro objeto de la misma clase o de otra puede ingresar diversos objetos de la ventana cuadro de herramientas
Para nuestro caso: el objeto cuadro de texto (donde ingresaremos la información) es el ícono con la figura cuyo texto es ab
El objeto botón de comando es un rectángulo blanco (segunda fila cuarta columna)
Presionando tecla CONTROL (CTRL) y sin soltarla presionando objetos de la misma clase con el botón derecho del mouse puede dar formato a varios objetos a la vez, por ejemplo alinear los objetos a la cuadrícula.
Tarea: Crear y diseñar el formulario 1 de acuerdo a la figura anterior
Diseño de Segundo Formulario
[pic 3]
Como puede ver, el segundo formulario es idéntico al primero. Para su diseño conviene seleccionar todos los objetos dentro de UserForm1, copiar y pegarlos en UserForm2
Para agregar un nuevo formulario (UserForm2) al proyecto, estando en el editor de visual basic
En barra menú hacer clic en opción Insertar y luego clic en submenú USERFORM
Aparecerá el formulario llamado UserForm2, agrande su tamaño a través de sus propiedades o tomando al formulario de sus bordes, déjelo con similar tamaño de UserForm1
Cámbiese de formulario a UserForm1 (clic en UserForm1 del cuadro explorador de proyectos)
Seleccione todos los objetos de UserForm1 (clic en menú Edición clic en opción Seleccionar todo)
Copie lo seleccionado (clic en menú Edición clic en opción Copiar)
Cámbiese a UserForm2 (clic en UserForm2 del cuadro explorador de proyectos)
Pegue lo copiado (clic en menú Edición clic en opción Pegar)
Se ahorró bastante tiempo en el diseño de objetos
Programación de Primer Formulario
[pic 4]
Se han programado tres eventos.
El primero sobre el objeto botón de comando. El evento clic hace que cuando se ejecute este formulario y se presione el botón UserForm1 cuyo Caption es Ingresar alumno permita limpiar los cuadros de texto, Insertar una fila en la Hoja activa en la fila que ocupa la celda activa. Finalmente se deja el foco en texto1 (cursor en textbox1).
El segundo evento recae sobre el texto1 que permite el ingreso de caracteres en textbox1 hasta que se presiona tecla Enter KeyCode = 13. Si se presiona tecla Enter salta al texto2 (Textbox2), es decir sale del texto1 y deja el cursor en texto2.
El tercer evento nuevamente pregunta si al digitar presiona la tecla Enter, si es así, se sitúa en Hoja Excel activa específicamente en celda A13, guarda o almacena el valor de texto1 en celda activa, es decir, celda A13, Se sitúa a continuación en celda B13 y deja un valor numérico en celda B13.
Para iniciar la Programación
Se sitúa en el formulario UserForm1 y selecciona el objeto Botón de comando. Hacer dos clic sobre el objeto y se entra al modo código
[pic 5]
En estos momentos usted está programando el evento clic del botón de comando. En forma automática ha creado el código
Private Sub CommandButton1_Click()
End Sub
Todo evento comienza con un prívate (o public) y termina con un End Sub. Lo que va al medio es lo que usted desea que haga el botón cuando presiona clic en modo ejecución.
Arriba de Private Sub CommandButton1_Click() se encuentra el objeto activo llamado CommandButon1 y más a la derecha el procedimiento actual llamado CLIC
Usted también puede programar cualquier objeto con cualquier procedimiento asociado haciendo clic en el botón a la derecha del objeto o procedimiento
Detalle de la Programación UserForm1
Private Sub CommandButton1_Click() Inicia evento clic de objeto commandbutton1
TextBox1.Text Deja en blanco cuadro de texto
TextBox2.Text = Empty Deja en blanco cuadro de texto
Selection.EntireRow.Insert Inserta una fila en hoja excel
TextBox1.SetFocus Deja cursor en cuadro de texto
End Sub Termina evento clic
...