Sie sind auf Seite 1von 6

Formularios en VBA

Los formularios en VBA no son ms que un cuadro de dilogo de Excel donde podremos colocar controles
que nos ayudarn a solicitar informacin del usuario. Podremos colocar cajas de texto, etiquetas, cuadros
combinados, botones de comando, etc.

Parte I. En esta parte vamos a poner en prctica los comandos ms usados que les
publiqu en el blog anterior
1. Presione La Teclas Alt + F11, para entrar al editor de Visual Basic.
2. Activa las siguientes opciones:
o

De clic en el Men Ver y elija la opcin Explorador de Proyectos

De clic en el Men ver y elija la opcin Ventana Propiedades

3. Del Men Insertar elija la Opcin UserForm. Esto inserta el Formulario que
programaremos con controles. En el Explorador de Proyecto se observara
que se insert el UserForm.
Ahora crearas un formulario con el siguiente aspecto:

Los datos que se preguntaran sern Nombre y Edad, los Das de vida se generaran
automticamente cuando insertes la edad. A continuacin se muestra como se deben de
programar estos Controles:
Programacin de los Controles:

Private Sub CommandButton1_Click()


Selection.EntireRow.Insert

TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox1.SetFocus
End Sub
Private Sub TextBox1_Change()
Range("A9").Select
ActiveCell.FormulaR1C1 = TextBox1
End Sub
Private Sub TextBox2_Change()
Range("B9").Select
ActiveCell.FormulaR1C1 = TextBox2
Rem aqu se crea la Formula
TextBox3 = Val(TextBox2) * 365
Rem El Textbox3 guardara el total de la multiplicacin del Textbox2 por 365
Rem El Comando Val permite convertir un valor de Texto a un Valor Numrico
Rem Esto se debe a que los Textbox no son Numricos y debemos de Convertirlos
End Sub
Private Sub TextBox3_Change()
Range("C9").Select
ActiveCell.FormulaR1C1 = TextBox3
End Sub

Esto va permitir que cuando se ejecute el formulario y se de la edad el resultado de los das
vividos aparecer en el Textbox3 y se escribir tambin en Excel. El comando Val es un
comando de Visual Basic que te permite convertir un valor de texto a un valor numrico.
Recuerden el Comando Rem se utiliza para poner Comentarios nicamente y no afecta a la
programacin.
Este Archivo de esta Macro se llama Macros de Edad

Crear un formulario en Excel

Los formularios de Excel son creados desde el Editor de Visual Basic donde debemos seleccionar la opcin
de men Insertar y posteriormente la opcin UserForm.

Inmediatamente se mostrar un formulario en blanco y de igual manera podrs observar el Cuadro de


herramientas:

Si no ves el Cuadro de herramientas puedes seleccionar el men Ver y la opcin Cuadro de herramientas.

Agregar controles al formulario


Para agregar un control al formulario debes seleccionarlo del Cuadro de herramientas y dibujarlo sobre el
formulario. En mi formulario he agregado etiquetas y cuadros de texto as como un par de botones de
comando:

El texto de las etiquetas se modifica en la propiedad llamada Caption. Para realizar este cambio solamente
selecciona el control y se mostrar la ventana de Propiedades donde podrs hacer la modificacin. De igual
manera el texto desplegado en los botones de comando se modifica en su propiedad Caption.

Cdigo para el botn Cancelar


El botn cancelar cerrar el formulario sin guardar la informacin capturada en ningn lugar. El cdigo que
debemos utilizar es el siguiente:
Private Sub CommandButton2_Click()
Unload Me
End Sub
Para agregar este cdigo puedes hacer doble clic sobre el control. La sentencia Unload Me cerrar
elformulario.

Cdigo para el botn Aceptar


A diferencia del botn Cancelar, el botn Aceptar colocar los datos de las cajas de texto en las celdas A1, B1
y C1. El cdigo utilizado es el siguiente:
Private Sub CommandButton1_Click()
Worksheets("Hoja1").Range("A1").Value = Me.TextBox1.Value
Worksheets("Hoja1").Range("B1").Value = Me.TextBox2.Value
Worksheets("Hoja1").Range("C1").Value = Me.TextBox3.Value
End Sub
Al pulsar el botn Aceptar se transferirn los valores de los controles TextBox hacia las celdas de la Hoja1.

Botn para abrir formulario

Para facilitar la apertura del formulario puedes colocar un botn ActiveX en la hoja con el siguiente cdigo:
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub

Probar el formulario
Observa cmo cada uno de los botones realiza la accin correcta al pulsarlos:

Das könnte Ihnen auch gefallen