Vous êtes sur la page 1sur 16

VISUAL BASIC - FORMULARIOS

Crear formularios
Un formulario es una ventana que se programa por medio de controles y estos
controles responden a sucesos que nosotros programamos.
Todo esto se encuentra dentro de Visual Basic .

18/06/2010 1

VISUAL BASIC - FORMULARIOS


Crear formularios
Procedimiento.

Presione las teclas Alt + F11, para entrar al editor de Visual Basic.

Activa las siguientes opciones:

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
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.
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 opcin
Cuadro de Herramientas.

18/06/2010 2

1
VISUAL BASIC - FORMULARIOS
Crear formularios

18/06/2010 3

VISUAL BASIC - FORMULARIOS


Crear formularios

18/06/2010 4

2
VISUAL BASIC - FORMULARIOS
Crear formularios

18/06/2010 5

VISUAL BASIC - FORMULARIOS


Crear formularios
Elija del Cuadro de Herramientas el Control Etiqueta (el que tiene la A) y
Arrastre dibujando en el Formulario USERFORM1 la etiqueta.
Quedara el nombre Label1.
Despus 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 programacin
de la etiqueta, solo de doble clic en UserForm1 que se encuentra en el
Explorador de Proyecto.

18/06/2010 6

3
VISUAL BASIC - FORMULARIOS
Crear formularios
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 vaco y su nombre ser Textbox1.
El nombre solo aparecer en el control.

18/06/2010 7

VISUAL BASIC - FORMULARIOS


Crear formularios
Haga los dos pasos anteriores igualmente poniendo Direccin en la Label2 y
Telfono en la Label3.
Tambin dibjeles su Textbox.
Esto quedara as despus de hacerlo.
Puede cambiar el nombre a la etiqueta o al cuadro de texto en la Ventana
Propiedades del objeto. La opcin se llama (Name).

18/06/2010 8

4
VISUAL BASIC - FORMULARIOS
Crear formularios

A los controles como las Etiquetas y


Cuadros de Textos pueden modificrseles
algunas opciones en la Ventana
Propiedades.
Para hacer esto es necesario tener
conocimiento sobre las propiedades de los
controles. No altere las propiedades si no las
conoce.

18/06/2010 9

VISUAL BASIC - FORMULARIOS


Crear formularios
Elija del Cuadro de Herramientas el control Botn de Comando y Arrastre
dibujando en el Formulario USERFORM1 el Botn.
Despus de un clic en el nombre del Botn dibujado y podr modificar el nombre
y pondremos ah Insertar.
Si por error da doble clic en la Botn y lo manda a la pantalla de programacin de
la etiqueta, solo de doble clic en UserForm1 que se encuentra en el Explorador
de Proyecto.

18/06/2010 10

5
VISUAL BASIC - FORMULARIOS
Crear formularios
Ahora de doble clic sobre el control Textbox1 para programarlo y despus inserte
el siguiente cdigo:

Private Sub TextBox1_Change()


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

Esto procedimiento selecciona la celda A9 de la hoja activa y escribe lo que hay


en el Textbox1.

Notas.
Lo que esta en azul lo genera Excel automticamente, usted solo escribir lo que
esta en Negrita.
El texto _Change que sigue al nombre del cuadro de texto indica que este
procedimiento se ejecutar cada vez que se ingrese un texto en el cuadro de texto.
18/06/2010 11

VISUAL BASIC - FORMULARIOS


Crear formularios
Para volver al Formulario y programar el siguiente Textbox 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.
Ahora de doble clic sobre el control Textbox2 para programarlo y despus inserte
el siguiente cdigo:
Private Sub TextBox2_Change()
Range("B9").Select
ActiveCell.FormulaR1C1 = TextBox2
End Sub

Luego de doble clic sobre el control Textbox2 para programarlo y despus inserte
el siguiente cdigo:
Private Sub TextBox2_Change()
Range(C9").Select
ActiveCell.FormulaR1C1 = TextBox3
End Sub
18/06/2010 12

6
VISUAL BASIC - FORMULARIOS
Crear formularios
Ahora de doble clic sobre el control Botn de Comando para programarlo y
despus inserte el siguiente cdigo:
Private Sub CommandButton1_Click()

Selection.EntireRow.Insert Inserta una fila nueva


Empty Limpia Los Textbox
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
Textbox1.SetFocus Enva el cursor al Textbox1 para volver a capturar los
datos
TextBox1.SetFocus
End Sub
Nota.- El comando Empty es empleado para vaciar los Textbox.

18/06/2010 13

VISUAL BASIC - FORMULARIOS


Crear formularios

Ahora presione el botn Ejecutar


User/Form que se encuentra en la
barra de herramientas o simplemente la
tecla de funcin F5.
Se activara el Userform1 y todo lo que
escriba en los Textbox se escribir en
Excel, en la hoja activa, y cuando
presione el botn Insertar, se insertara
una lnea nueva.
A continuacin se vaciaran los
Textbox y despus se mostrara el
cursor en el Textbox1.

18/06/2010 14

7
VISUAL BASIC - FORMULARIOS
Trabajando con frmulas
TRABAJANDO CON FRMULAS
Es de suma importancia saber aplicar Frmulas en Macros de Excel, ya que la
mayora de las hojas de clculos las involucran.
Ahora crears un formulario con el siguiente aspecto:

El formulario debe tener: Tres etiquetas / Tres Textbox / Un Botn de Comando

Los datos que se preguntaran sern Nombre y Edad.


Los Das Vividos se generaran automticamente cuando insertes la edad.
A continuacin se muestra como se deben de programar estos Controles:
18/06/2010 15

VISUAL BASIC - FORMULARIOS


Trabajando con frmulas
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

18/06/2010 16

8
VISUAL BASIC - FORMULARIOS
Trabajando con frmulas
Programacin de los Controles:

Private Sub TextBox2_Change()


Range("B9").Select
ActiveCell.FormulaR1C1 = TextBox2
TextBox3 = Val(TextBox2) * 365 Aqu se crea la Formula
Textbox3 guardara el total de la multiplicacin del Textbox2 por 365
El Comando Val permite convertir un valor de Texto a un Valor Numrico
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
18/06/2010 17

VISUAL BASIC - FORMULARIOS


Trabajando con frmulas
Cuando se ejecute el formulario y se ingrese 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.

A continuacin desarrollaremos otro ejemplo.

Crea el Siguiente Formulario con los siguientes datos:

5 Etiquetas
5 Textbox
1 Botn de Comando

Los datos que se preguntaran sern Nombre, Das Trabajados, Pago por Da,
Bonos y Sueldo Neto.

18/06/2010 18

9
VISUAL BASIC - FORMULARIOS
Trabajando con frmulas
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

18/06/2010 19

VISUAL BASIC - FORMULARIOS


Trabajando con frmulas
Private Sub TextBox2_Change()
Range("B9").Select
ActiveCell.FormulaR1C1 = TextBox2
End Sub
Private Sub TextBox3_Change()
Range("C9").Select
ActiveCell.FormulaR1C1 = TextBox3
End Sub
Private Sub TextBox4_Change()
Range("D9").Select
ActiveCell.FormulaR1C1 = TextBox4
Aqu se crea la frmula
TextBox5 = Val(TextBox2) *Val(TextBox3) + Val(TextBox4)
El TextBox5 guardara el total
End Sub
18/06/2010 20

10
VISUAL BASIC - FORMULARIOS
Trabajando con frmulas
Private Sub TextBox5_Change()
Range("E9").Select
ActiveCell.FormulaR1C1 = TextBox5
End Sub

Cuando se introduzca el Bonos automticamente se generara el Sueldo Neto.

18/06/2010 21

VISUAL BASIC - FORMULARIOS


Trabajando con ComboBox y ListBox
Control LISTBOX

Muestra una lista de valores y le permite seleccionar uno o varios.

Si el control ListBox es dependiente de un origen de datos, almacena el valor


seleccionado en el origen de datos.

El control ListBox puede aparecer como una lista o como un grupo de controles
OptionButton o CheckBox.

18/06/2010 22

11
VISUAL BASIC - FORMULARIOS
Trabajando con ComboBox y ListBox
Control COMBOBOX

Combina las caractersticas de un control ListBox y un control TextBox.


El usuario puede escribir un valor nuevo, como en un control TextBox o bien
puede seleccionar un valor existente como en un control ListBox.
Si un control ComboBox es dependiente de un origen de datos, inserta el valor que
el usuario escribe o selecciona en el origen de datos.

18/06/2010 23

VISUAL BASIC - FORMULARIOS


Trabajando con ComboBox y ListBox
Trabajar con Listbox y Combobox

Empezaremos con como agregar informacin a un Combobox y un Listbox.


Primeramente, debers crear un formulario (Userform).
Inserta un Combobox, un Listbox y un Botn.
Ahora que ya creaste la Interfaz vamos a programar el botn, veremos como se le
puede agregar informacin por medio de cdigo a estos dos controles.

18/06/2010 24

12
VISUAL BASIC - FORMULARIOS
Trabajando con ComboBox y ListBox
Da doble clic en el Botn y escribe las siguientes lneas dentro del procedimiento.
Private Sub CommandButton1_Click()
ComboBox1.AddItem "Juan Jos"
ComboBox1.AddItem "Pedro de la Fuente"
ComboBox1.AddItem "Salvador de la Luz"
ListBox1.AddItem "Juan Jos"
ListBox1.AddItem "Pedro de la Fuente"
ListBox1.AddItem "Salvador de la Luz"
End Sub
La opcin AddItem significa que vas a agregar un dato de texto, por lo tanto, se
entiende que vas a agregar el nombre Juan Jos al Combobox1. Por lo tanto, yo
puedo agregar los datos que quiera a un Combobox o un Listbox con la opcin
AddItem.
Al presionar el botn aparecern los datos que se encuentra escritos y podrs
seleccionar cualquiera de ellos.
Recuerda que la informacin la vas a agregar segn tus necesidades.
18/06/2010 25

VISUAL BASIC - FORMULARIOS


Trabajando con ComboBox y ListBox
Ahora si deseas agregar nmeros a un Combobox o ListBox escribe el siguiente
cdigo en un botn:
Private Sub CommandButton1_Click()
For X=1 to 50
Listbox1.AddItem str(x)
Next
End Sub
La Instruccin For-Next es un ciclo contador que te permite contar desde un
numero hasta otro.
Por ejemplo, le digo que cuente desde el 1 hasta el 50 y lo que se encuentre dentro
del ciclo For-Next se ejecutara el nmero de veces. La X es una variable numrica
que guarda el valor, cada vez que el ciclo da una vuelta aumenta un numero, por lo
tanto X va a valer desde 1 hasta 50.
La instruccin Str es para convertir el valor numrico de la X en valor de Texto,
ya que la opcin AddItem guarda solo texto.

18/06/2010 26

13
VISUAL BASIC - FORMULARIOS
Trabajando con ComboBox y ListBox
Trabajando con datos de ComboBox y ListBox

Da doble clic en el Listbox y escribe el siguiente cdigo:

Private Sub ListBox1_Click()


Range("a9").Select
ActiveCell.FormulaR1C1 = ListBox1
End Sub

Con esta instruccin, cada vez que escojas un dato que se encuentre en un
Listbox1, este dato se enviara a la celda a9, escribindolo ah.
Lo mismo se puede hacer con un Combobox. Solo cambia Listbox1 por
Combobox1 en el procedimiento anterior.

18/06/2010 27

VISUAL BASIC - FORMULARIOS


Trabajando con ComboBox y ListBox
Trabajando con datos de ComboBox y ListBox

Ahora si deseas agregar los datos al Listbox o Combobox sin ningn botn que
presionar escribe el siguiente cdigo:
Private Sub UserForm_Activate()
ComboBox1.AddItem Nombre 1"
ComboBox1.AddItem "Nombre 2"
ComboBox1.AddItem "Nombre 3"
ListBox1.AddItem "Nombre 4"
ListBox1.AddItem "Nombre 5"
ListBox1.AddItem "Nombre 6
End Sub

La Clave esta en el procedimiento UserForm_Activate() esto quiere decir que


cuando se active el formulario cargara lo que tu le indiques, en este caso va a
introducir los datos al Listbox1 y Combobox1 automticamente.
18/06/2010 28

14
VISUAL BASIC - FORMULARIOS
Trabajando con ComboBox y ListBox
Trabajando con datos de ComboBox y ListBox

Si deseas tomar informacin de una celda de la planilla y enviarla a un Combobox


o Listbox, escribe el siguiente cdigo en un Botn.
Antes, escribe la lista que deseas incorporar al ListBox en la planilla a partir de la
celda c4.

Private Sub CommandButton1_Click()


Range(c4").Select
Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
ListBox1.AddItem ActiveCell
Loop
End Sub

18/06/2010 29

VISUAL BASIC - FORMULARIOS


Trabajando con ComboBox y ListBox
Trabajando con datos de ComboBox y ListBox

El procedimiento anterior ejecuta lo siguiente:


Primeramente, muevo el rango a la celda c4 porque ah esta el inicio de mi
informacin
Luego, la lnea Do While Activecell<> Empty significa Hazlo mientras la celda no
se encuentre vaca
La siguiente lnea que es ActiveCell.Offset(1, 0).Select, significa Baja un Rengln
(Fila).
La siguiente lnea ListBox1.AddItem ActiveCell, agrega la informacin de la
celda al Listbox1
La lnea Loop es parte del ciclo Do While.
Siempre debes cerrar el ciclo (como el For-Next)

Todos los nombres que estn debajo de c4 sern enviados al Listbox1 y cuando
tope con una celda vaca la condicin del Do While parara la ejecucin de su
cdigo.
18/06/2010 30

15
VISUAL BASIC - FORMULARIOS
Ejecutando Macros
Ejecuta una Macro al abrir el archivo

Primeramente, inserta un Modulo del Men Insertar dentro de Visual Basic y


escribe el siguiente cdigo:

Sub Auto_open()
Load UserForm1
UserForm1.Show
End Sub

La magia est en el procedimiento Auto_open() que permite ejecutar


automticamente lo que se encuentre dentro de el cuando abras un libro que
contenga este cdigo. En este ejemplo, cuando se abre el libro se activa el
formulario 1 que ya programamos.
As que todo lo que agregues dentro de este procedimiento se ejecutar
automticamente cuando abras un libro.
18/06/2010 31

16

Vous aimerez peut-être aussi