Está en la página 1de 12

Diseño y Programación de Formularios

El entorno VBA es un completo entorno de programación, con un amplio abanico de menús,


ventanas y opciones. Aquí comentaremos las partes principales, para aprender a movernos
dentro de el, así como el código generado por los macros o que nosotros podemos escribir
directamente y algunas opciones de los menús. Las partes principales del entorno son las
siguientes:
Ventana Explorador de Proyectos

Es la ventana que aparece con el titulo "Proyecto - VBAProject", en


ella aparecen tantos elementos (proyectos) como libros tengamos
abiertos en ese momento. Para ver esta ventana caso de no estar
visible basta con ir al menú Ver y seleccionar Explorador de
proyectos.

Al expandir cualquiera de los elementos de un proyecto encontraremos dos o tres carpetas:

 Microsoft Excel Objetos: Son todas las hojas que contiene el libro, además del propio libro
(This-Workbook). En cada una de estos elementos se puede escribir código especifico para el
mismo.

 Formularios: Esta carpeta solo existe si se crean específicamente Formularios desde el menú
Insertar > UserForm. Los formularios son módulos especiales que pueden contener controles
ActiveX para visibilizar por pantalla.

 Módulos: Contiene tantos módulos como macros grabemos. Aquí se guarda el código que puede
ser usado por cualquier hoja del libro. Podemos crear manualmente Módulos propios o cambiar el
nombre a los existentes.
Ventana de Propiedades

Cada uno de los elementos de la ventana "Explorador de proyectos" tiene un conjunto de


propiedades. La cantidad de propiedades depende del tipo de elemento. Las propiedades
definen características del elemento, como por ejemplo título, tamaño de la letra, color del
texto, etc.

Si esta ventana no apareciese visible debemos hacer lo mismo que en el caso del "Explorador
de proyectos", ir al menú Ver y seleccionar Ventana propiedades.
Ventana de Código

La ventana código es donde aparecen todas las


instrucciones grabadas por una macro o
introducidas manualmente.

Para cada objeto o elemento de un proyecto podemos tener abierta su propia ventana de código,
basta hacer doble clic sobre dicho elemento para que se abra su correspondiente ventana. Para
gestionar u organizar las ventanas iremos al menú Ventana donde aparece la lista de todas ellas.

En la parte inferior izquierda de una ventana de código aparecen dos botones o iconos: "Ver
procedimiento“ y "Ver modulo completo" que nos permiten ver solo el código del procedimiento
actual o todo el código existente en la hoja, formulario o modulo en el que estemos. En este
ultimo caso, para distinguir mejor donde empieza o acaba un procedimiento, entre uno y otro se
inserta una línea horizontal que los separa, según se puede ver en la figura de la pagina siguiente.
Entendiendo el código VBA

Si miramos lo escrito por Excel al crear una macro, es decir el código de programación, podemos
observar lo siguiente:

 Todos los macros o procedimientos están limitados por las palabras reservadas del lenguaje
Sub y End Sud que indican el principio y el final del macro. Después de Sub viene el nombre
del macro o procedimiento que debe de ser continuo (sin espacios entre palabras).
 Todo lo que aparece dentro después de un apostrofe ( ' ) es un comentario, es decir Excel lo
omite al ejecutar el procedimiento. Los comentarios sirven para documentar mejor el
propósito de los macros o procedimientos. Por defecto aparecen en color verde.
 Todas las palabras que aparecen en color azul son palabras especificas del lenguaje VBA,
tienen un significado especial y están reservadas por lo que no podemos usarlas para darle
nombre a un macro.
Ejercicio No. 1

1. De clic en el ícono Visual Basic de la cinta Programador, para entrar al editor de Visual Basic.
2. Activa las siguientes opciones:
 De clic en el Menú Ver y elija la opción Explorador de Proyectos
 De clic en el Menú ver y elija la opción Ventana Propiedades
3. Del Menú Insertar elija la Opción UserForm. Esto inserta el Formulario que programaremos con
controles. En el Explorador de Proyecto se observara que se inserto el UserForm.

También cuando de clic en el Formulario USERFORM1 se


debe de activar el Cuadro de Herramientas, si no se activa
de clic en el Menú Ver y elija la opción Cuadro de
Herramientas.
4. Elija del Cuadro de Herramientas el Control Etiqueta el que tiene la A y Arrastre dibujando
en el Formulario USERFORM1 la etiqueta. Quedará el nombre Label1, después de un clic en la
etiqueta dibujada y podrá modificar el nombre de adentro y pondremos ahí Nombre. Si por
error da doble clic en la etiqueta y lo manda a la pantalla de programación de la etiqueta, solo
de doble clic en UserForm1 que se encuentra en el Explorador de Proyecto.

5. Elija del Cuadro de Herramientas el control Cuadro de Texto el que tiene ab y arrastre
dibujando en el formulario USERFORM1 el cuadro de texto a un lado de la etiqueta que dice
Nombre. El cuadro de texto debe de estar vacío y su nombre será Textbox1, el nombre solo
aparecerá en el control.
Haga los dos pasos anteriores igualmente poniendo Código en la Label2 , Carrera en la Label3
y E-MAIL en la Label4 y también arrastre el Textbox.

Esto quedara así después de haberlo hecho:


7. Elija del Cuadro de Herramientas el control Botón de Comando y Arrastre colocando en el
Formulario USERFORM1 el Botón, después de un clic en el nombre del Botón dibujado, luego,
modificar el nombre y pondremos ahí Insertar.

8. Ahora de doble clic sobre el control Textbox1 para programarlo y después inserte el siguiente código:

Private Sub TextBox1_Change()


Range("A9").Select
ActiveCell.FormulaR1C1 = TextBox1
End Sub

Esto indica que se mueve el cursor a la celda A9 y registra el contenido del campo: Textbox1

9. Ahora de doble clic sobre el control Textbox2 para programarlo y después inserte el siguiente código:

Private Sub TextBox2_Change()


Range("B9").Select
ActiveCell.FormulaR1C1 = TextBox2
End Sub

Esto indica que se mueve el cursor a la celda B9 y registra el contenido del campo: Textbox2
Esto indica que se mueve el cursor a la celda C9 y registra el contenido del campo: Textbox3

Para volver al Formulario y programar el Botón de Comando Insertar de doble clic en UserForm1
que se encuentra en el Explorador de Proyecto, o simplemente de clic en Ver Objeto en el mismo
Explorador de Proyecto.

11. Ahora de doble clic sobre el control Botón de Comando para programarlo y después inserte
el siguiente código:

Private Sub CommandButton1_Click()


Rem inserta un renglón
Selection.EntireRow.Insert
Rem Empty Limpia Los Textbox
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty
Rem Textbox1.SetFocus Envía el cursor al Textbox1 para volver a capturar los datos
TextBox1.SetFocus
End Sub
 
Nota.-El comando Rem es empleado para poner comentarios dentro de la programación, el
comando Empty es empleado para vaciar los Textbox.
Ahora presione el botón Ejecutar User/Form que se encuentra en la barra de herramientas o
simplemente la tecla de función F5.
Ejercicio No. 2
Diseñar y programar el siguiente formulario:

Rem aquí se crea la Formula


TextBox3 = Val(TextBox2) * 365
 
Rem El Textbox3 guardara el total de la multiplicación del Textbox2 por 365
Rem El Comando Val permite convertir un valor de Texto a un Valor Numérico
Rem Esto se debe a que los Textbox no son Numéricos y debemos Convertirlos.
Códigos comunes

Si grabamos macros y observamos su código es muy posible que nos encontremos con alguna de las
líneas de código mas comunes que se presentan a continuación, a fin de entender para que sirven:

Trasladarse o seleccionar una celda Centrar texto


Range("B5").Select
With Selection
Escribir en una celda .HorizontalAlignment =xlCenter
ActiveCell.FormulaRlCl="Importes de Ventas" .VerticalAlignment=xlBottom
End With
Letra Negrita
Selection.Font.Bold = True Alinear a la derecha
With Selection
Letra Cursiva .HorizontalAlignment = xlRight
Selection.Font.Italic = True End With

Letra Subrayada Tipo de Letra (Fuente)


Selection Font.Underline= xlUndelineStyleSingle With Selection.Font
.Name = " Algerian"
End With
Tamaño de Letra (Tamaño de Fuente)
With Selection.Font Trasladarse a una hoja determinada
.Size = 14 Sheets("BD_Subtotales").Select
End With Movernos a la ventana siguiente
Copiar ActiveWindow.ActivateNext
Selection.Copy Movernos a la ventana anterior
Pegar ActiveWindow.ActivatePrevious
ActiveSheet.Paste Ocultar ciertas filas o columnas
Cortar Range("7:10,15:20,23:27").Select
Selection.Cut Selection.EntireRow.Hidden = True
Insertar una fila . . Range("E:J,L:Q,S:X,AA:AF,CG:CH").Select
Selection.EntireRow.Insert Selection.EntireColumn.Hidden = True
Eliminar una fila Desocultar ciertas filas o columnas
Selection.EntireRow.Delete Range("7:10,15:20,23:27").Select
Insertar una columna . . Selection.EntireRow.Hidden = False
Selection.EntireColumn.Insert Range("E:J,L:Q,S:X,AA:AF,CG:CH").Select
Eliminar una columna Selection.EntireColumn.Hidden = False
Selection.EntireColumn.Delete Organizar las ventanas en vertical
Abrir cierto libro Windows.Arrange xlArrangeStyleVertical
Workbooks.Open Filename:="D:\Mis Organizar las ventana en horizontal
documentos\Ventas.xlsx“ Windows.Arrange xlArrangeStyleHorizontal
Grabar un libro Evitar que parpadee la pantalla al ejecutar
ActiveWorkbook.SaveAs Filenarne := "C: \Mis algunas acciones
documentos\Ventas.xlsx", FileFormat:= Application.ScreenUpdating = False
xlNormal, Password:="", Volver la pantalla a su estado normal
ReadOnlyRecommended:=False,CreateBackup Application.ScreenUpdating = True
:=False

También podría gustarte