autor: pere manel verdugo zamora web: ... · seleccionaremos las columnas desde ^a hasta la g _....

33
1 Autor: Pere Manel Verdugo Zamora Web: http://www.peremanelv.com/pere3/Sitio_web_2/Bienvenida.html E-Mail: [email protected]

Upload: dotruc

Post on 30-Sep-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

1

Autor: Pere Manel Verdugo Zamora

Web: http://www.peremanelv.com/pere3/Sitio_web_2/Bienvenida.html

E-Mail: [email protected]

2

Este tutorial te guiará paso a paso como crear una aplicación de Visual Basic para Excel.

Para realizar este proyecto vamos a realizar los siguientes pasos:

Abriremos una nueva hoja de Excel.

El siguiente paso será guardar el proyecto, lo hacemos al principio porque así cada modificación

importante que realícelos la iremos guardando.

Seleccionaremos la pestaña “ARCHIVO”.

Seleccionaremos la opción “Guardar”.

3

Seleccionaremos el botón “Examinar”.

Como “Nombre de archivo:” pondremos “Proyecto de economía doméstica”.

Como “Tipo” seleccionaremos “Libro de Excel habilitado para macros”.

Lo guardamos con este tipo ya que el proyecto tendrá macros en Visual Basic y para que se

puedan guardar hay que utilizar este tipo.

El proyecto tiene que contener cuatro hojas tal como se muestra en la siguiente figura:

Seleccionaremos la hoja “Portada”.

4

Seleccionaremos las columnas desde “A” hasta la “G”.

De la pestaña “INSERTAR” seleccionaremos “Imágenes”.

Seleccionaremos una imagen que tenemos guardada en nuestro ordenador (Las puedes

descargar desde Internet).

De la pestaña “INSERTAR” seleccionaremos “WordArt”.

5

Seleccionaremos el tipo de letra que más nos guste.

Agregaremos el siguiente texto:

Vamos a dibujar un botón:

De la pestaña “INSERTAR” seleccionaremos “Formas”.

Este será el resultado después de poner el texto “EMPEZAR”.

6

El siguiente paso será agregarle un Hipervínculo para decirle que se desplace a la pestaña

“Cuentas”.

Seleccionaremos la figura y de la pestaña “Insertar seleccionaremos “Hipervínculo”.

En el apartado “Vincular a: seleccionaremos “Lugar de este documento”

En el apartado “Escriba la referencia de celda:” escribiremos “B2”.

En el apartado “Seleccione un lugar de este documento:” seleccionaremos “Cuentas”, seguido

del botón “Aceptar”.

7

El siguiente paso será seleccionar la hoja “Cuentas”.

Seleccionaremos las columnas “A, B y C” y las pintaremos de negro, como el la hoja “Portada”.

De la pestaña “INSERTAR” seleccionaremos “SmartArt”.

Del apartado “Lista” seleccionaremos el que tenemos seleccionado en la imagen.

8

Seleccionaremos donde pone [Texto] para cambiarlo.

Seleccionaremos donde se encuentra la flecha de la última imagen para seleccionar imágenes

que tenemos guardadas en nuestro ordenador.

9

Seleccionaremos el botón “Examinar”.

Seleccionaremos la imagen, y a continuación el botón “Insertar”.

Repetiremos este proceso con el apartado “Apuntes” y “Resultado”.

Teniendo seleccionada dicha figura de la pestaña “HERRAMIENTAS DE SMARTART”

seleccionaremos “Cambiar colores”.

10

Este será el resultado:

11

Seleccionaremos “Cuentas” y crearemos el siguiente “Hipervínculo”.

Seleccionaremos “Apuntes” y crearemos el siguiente “Hipervínculo”.

12

Seleccionaremos “Resultado” y crearemos el siguiente “Hipervínculo”.

Este será el resultado:

El siguiente paso será seleccionar toda la hoja y copiar.

13

Seleccionaremos “Copiar”.

Seleccionaremos toda la hoja “Apuntes” y de este pegar.

Seleccionaremos toda la hoja “Resultados” y de este pegar.

Ya puedes probar estos enlaces y podrás ver cómo nos desplazamos de una hoja a otra.

14

En la Hoja “Cuentas” escribiremos en las siguientes celdas.

Las celdas en negro, las letras en blanco y Negrita y por último centrado.

Seleccionaremos el rango (E3:F103)

De la pestaña “Inicio” seleccionaremos “Bordes” y de este “Todos los bordes”.

Este será el resultado:

Para poder programar en Visual Basic y confeccionar los correspondientes formularios vamos a

realizar los siguientes pasos:

De la pestaña “DESARROLLADOR” seleccionaremos “Visual Basic”.

15

Este será el resultado:

Vamos a crear nuestro primer formulario:

Del menú “Insertar” seleccionaremos “UserForm”.

16

Etiqueta

Caja de texto

Cuadro combinado

Botón

Estos son los objetos que vamos a utilizar con todos los formulario.

Diseñaremos el correspondiente formulario.

Una vez seleccionada la Etiqueta en la ventana de Propiedades en apartado “Caption”

escribiremos “CUENTA:”.

17

Seleccionaremos el primer botón y en “Propiedades” en el apartado “Caption” escribiremos

“AGREGAR”.

Esto lo repetiremos con el resto de botones.

El siguiente paso será hacer doble cli sobre el botón “AGREGAR”, escribiremos el siguiente

código:

Private Sub CommandButton2_Click()

For I = 1 To 100

If Cells(I + 2, 6).Value = TextBox1.Text Then

MsgBox ("ESTA CUENTA YA EXISTE")

TextBox1.Text = ""

Exit Sub

End If

Next

For I = 1 To 100

If Cells(I + 2, 6) = "" Then

Cells(I + 2, 5).Value = I

Cells(I + 2, 6).Value = TextBox1.Text

Exit For

End If

Next

TextBox1.Text = ""

End Sub

Haremos doble clic sobre el botón “BORRAR” y escribiremos el siguiente código:

Private Sub CommandButton3_Click()

TextBox1.Text = ""

End Sub

Haremos doble clic sobre el botón “SALIR” y escribiremos el siguiente código:

Private Sub CommandButton1_Click()

UserForm1.Hide

End Sub

18

Vamos a crear un segundo formulario:

Código del botón “BUSCAR”

Private Sub CommandButton4_Click()

For I = 1 To 100

If TextBox1.Text = Cells(I + 2, 5).Value Then

TextBox2.Text = Cells(I + 2, 6).Value

Exit For

End If

Next

End Sub

Código del botón “ELIMINAR”

Private Sub CommandButton1_Click()

For I = 1 To 100

If TextBox1.Text = Cells(I + 2, 5).Value Then

Exit For

End If

Next

Range(Cells(I + 2, 5), Cells(I + 2, 6)).Select

Selection.ClearContents

valor = I

For A = valor To 100

Cells(A + 2, 5).Value = Cells(A + 3, 5).Value

Cells(A + 2, 6).Value = Cells(A + 3, 6).Value

Next

19

For I = 1 To 100

If Cells(I + 2, 6).Value <> "" Then

Cells(I + 2, 5).Value = I

End If

Next

TextBox1.Text = ""

TextBox2.Text = ""

End Sub

Código del botón “BORRAR”

Código del botón “SALIR”

Private Sub CommandButton3_Click()

UserForm2.Hide

End Sub

Dibujaremos los dos botones en la hoja de cálculo “Cuentas”.

20

Cambiaremos el nombre de los dos botones desde la ventana “Propiedades” el parámetro “Caption”.

Escribiremos el código del botón “AGRAGAR CUENTA”.

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Seleccionaremos la hoja “Apuntes”.

El siguiente paso es desactivar el “Modo diseño” de la pestaña “DESARROLLADOR”, para probar el funcionamiento de los botones.

Prueba de agregar alguna cuenta, como Sueldo, Electricidad, Gas, Teléfono.

Elimina la cuenta 2 “Electricidad”.

21

En el Código escribiremos el número 2 que es el número de cuenta, seleccionaremos el botón “BUSCAR” y veremos la descripción de la cuenta.

A continuación el botón “ELIMINAR” y el botón “SALIR”.

Este será el resultado:

Seleccionaremos la pestaña “DESARRILLADOR” y de este la opción “Visual Basic”.

Haremos doble clic sobre el formulario, según imagen, no seleccionar ningún objeto.

Escribiremos el siguiente código:

22

Seleccionaremos “Activate” es decir este código se ejecuta cada vez que se llama al formulario.

Este código almacena a un cuadro combinado los meses del año.

En el botón “AGREGAR APUNTE” escribiremos el siguiente código:

Private Sub CommandButton1_Click()

For I = 1 To 500

If Cells(I + 2, 9).Value = "" Then

Cells(I + 2, 5).Value = I

Cells(I + 2, 6).Value = TextBox1.Text

Cells(I + 2, 7).Value = ComboBox1.Text

Cells(I + 2, 8).Value = TextBox2.Text

Cells(I + 2, 9).Value = ComboBox2.Text

Cells(I + 2, 10).Value = TextBox3.Text

Cells(I + 2, 11).Value = TextBox4.Text

Cells(I + 2, 12).Value = TextBox5.Text

23

TextBox1.Text = ""

ComboBox1.Text = ""

TextBox2.Text = ""

ComboBox2.Text = ""

TextBox2.Text = ""

TextBox3.Text = ""

TextBox4.Text = ""

TextBox5.Text = ""

Exit For

End If

Next

End Sub

En el botón “BORRAR” escribiremos el siguiente código:

Private Sub CommandButton4_Click()

TextBox1.Text = ""

ComboBox1.Text = ""

TextBox2.Text = ""

ComboBox2.Text = ""

TextBox2.Text = ""

TextBox3.Text = ""

TextBox4.Text = ""

TextBox5.Text = ""

End Sub

En el botón “SALIR” escribiremos el siguiente código:

Private Sub CommandButton3_Click()

UserForm3.Hide

End Sub

Escribiremos el código del botón “ELIMINAR CUENTA”.

Private Sub CommandButton2_Click()

UserForm2.Show

End Sub

24

Vamos a realizar otro formulario:

Vamos a desactivar algunos campos.

Enabled = False, a los campos se pueden consultar pero no se pueden introducir texto, están protegidos.

El código para el botón “BUSCAR”.

Private Sub CommandButton1_Click()

REGISTRO = "NO"

For I = 1 To 500

If TextBox1.Text = Cells(I + 2, 5).Value Then

TextBox2.Text = Cells(I + 2, 6).Value

TextBox3.Text = Cells(I + 2, 7).Value

TextBox4.Text = Cells(I + 2, 8).Value

TextBox5.Text = Cells(I + 2, 9).Value

TextBox6.Text = Cells(I + 2, 10).Value

25

TextBox7.Text = Cells(I + 2, 11).Value

TextBox8.Text = Cells(I + 2, 12).Value

REGISTRO = "SI"

End If

Next

If REGISTRO = "NO" Then

MsgBox ("ESTE REGISTRO NO EXISTE")

TextBox1.Text = ""

End If

End Sub

El código para el botón “ELIMINAR”.

Private Sub CommandButton2_Click()

For I = 1 To 500

If TextBox1.Text = Cells(I + 2, 5).Value Then

Exit For

End If

Next

Range(Cells(I + 2, 5), Cells(I + 2, 12)).Select

Selection.ClearContents

valor = I

For A = valor To 500

Cells(A + 2, 5).Value = Cells(A + 3, 5).Value

Cells(A + 2, 6).Value = Cells(A + 3, 6).Value

Cells(A + 2, 7).Value = Cells(A + 3, 7).Value

Cells(A + 2, 8).Value = Cells(A + 3, 8).Value

Cells(A + 2, 9).Value = Cells(A + 3, 9).Value

Cells(A + 2, 10).Value = Cells(A + 3, 10).Value

Cells(A + 2, 11).Value = Cells(A + 3, 11).Value

Cells(A + 2, 12).Value = Cells(A + 3, 12).Value

Next

For I = 1 To 50

If Cells(I + 2, 5).Value <> "" Then

26

Cells(I + 2, 5).Value = I

End If

Next

TextBox1.Text = ""

TextBox2.Text = ""

TextBox3.Text = ""

TextBox4.Text = ""

TextBox5.Text = ""

TextBox6.Text = ""

TextBox7.Text = ""

TextBox8.Text = ""

End Sub

El código para el botón “BORRAR”.

Private Sub CommandButton3_Click()

TextBox1.Text = ""

TextBox2.Text = ""

TextBox3.Text = ""

TextBox4.Text = ""

TextBox5.Text = ""

TextBox6.Text = ""

TextBox7.Text = ""

TextBox8.Text = ""

End Sub

El Código para el botón “SALIR”.

Private Sub CommandButton4_Click()

UserForm4.Hide

End Sub

27

Agregar los dos botones con los que hicimos en la página “Cuentas”.

Código para el botón “AGREGAR APUNTES”.

Private Sub CommandButton1_Click()

UserForm3.Show

End Sub

Código para el botón “ELIMINAR APUNTES”.

Private Sub CommandButton2_Click()

UserForm4.Show

End Sub

28

Seleccionaremos la pestaña “RESULTADOS”.

Diseñaremos la correspondiente tabla y botones.

Vamos a crear los correspondientes formularios:

Haremos doble clic sobre el formulario sin seleccionar ningún objeto.

Con el fin de asignar valores a los dos cuadros combinados del formulario “ComboBox1” y

“ComboBox2”.

29

Escribiremos el código del botón “CONSULTAR”:

Private Sub CommandButton1_Click()

A = 0

For I = 1 To 500

If ComboBox1.Text = Sheets("Apuntes").Cells(I + 2, 7).Value And ComboBox2.Text =

Sheets("Apuntes").Cells(I + 2, 8) Then

A = A + 1

Cells(A + 10, 5) = Sheets("Apuntes").Cells(I + 2, 5)

Cells(A + 10, 6) = Sheets("Apuntes").Cells(I + 2, 6)

Cells(A + 10, 7) = Sheets("Apuntes").Cells(I + 2, 7)

Cells(A + 10, 8) = Sheets("Apuntes").Cells(I + 2, 8)

Cells(A + 10, 9) = Sheets("Apuntes").Cells(I + 2, 9)

Cells(A + 10, 10) = Sheets("Apuntes").Cells(I + 2, 10)

Cells(A + 10, 11) = Sheets("Apuntes").Cells(I + 2, 11)

Cells(A + 10, 12) = Sheets("Apuntes").Cells(I + 2, 12)

End If

30

Next

Cells(3, 8).Value = "CONSULTA POR MES Y AÑO"

UserForm5.Hide

End Sub

Vamos a crear otro formulario:

Haremos doble clic sobre el formulario sin seleccionar ningún objeto y escribiremos el

siguiente código:

El código que tiene que ir al botón “CONSULTAR”:

Private Sub CommandButton1_Click()

A = 0

For I = 1 To 500

If ComboBox1.Text = Sheets("Apuntes").Cells(I + 2, 8).Value And ComboBox2.Text =

Sheets("Apuntes").Cells(I + 2, 9).Value Then

A = A + 1

Cells(A + 10, 5) = Sheets("Apuntes").Cells(I + 2, 5)

31

Cells(A + 10, 6) = Sheets("Apuntes").Cells(I + 2, 6)

Cells(A + 10, 7) = Sheets("Apuntes").Cells(I + 2, 7)

Cells(A + 10, 8) = Sheets("Apuntes").Cells(I + 2, 8)

Cells(A + 10, 9) = Sheets("Apuntes").Cells(I + 2, 9)

Cells(A + 10, 10) = Sheets("Apuntes").Cells(I + 2, 10)

Cells(A + 10, 11) = Sheets("Apuntes").Cells(I + 2, 11)

Cells(A + 10, 12) = Sheets("Apuntes").Cells(I + 2, 12)

End If

Next

Cells(3, 8).Value = "CONSULTA POR AÑO Y CUENTA"

UserForm6.Hide

End Sub

Vamos a realizar el último formulario:

Haremos doble clic sobre el formulario, sin seleccionar ningún objeto y escribiremos el

siguiente código:

32

En el botón “CONSULTAR” escribiremos el siguiente código:

Private Sub CommandButton1_Click()

A = 0

For I = 1 To 500

If ComboBox1.Text = Sheets("Apuntes").Cells(I + 2, 7).Value And ComboBox2.Text =

Sheets("Apuntes").Cells(I + 2, 9).Value Then

A = A + 1

Cells(A + 10, 5) = Sheets("Apuntes").Cells(I + 2, 5)

Cells(A + 10, 6) = Sheets("Apuntes").Cells(I + 2, 6)

Cells(A + 10, 7) = Sheets("Apuntes").Cells(I + 2, 7)

Cells(A + 10, 8) = Sheets("Apuntes").Cells(I + 2, 8)

Cells(A + 10, 9) = Sheets("Apuntes").Cells(I + 2, 9)

Cells(A + 10, 10) = Sheets("Apuntes").Cells(I + 2, 10)

Cells(A + 10, 11) = Sheets("Apuntes").Cells(I + 2, 11)

Cells(A + 10, 12) = Sheets("Apuntes").Cells(I + 2, 12)

End If

Next

Cells(3, 8).Value = "CONSULTA POR MES Y CUENTA"

UserForm7.Hide

End Sub

33

Estos son los botones que hemos agregado a la página “Resultados”.

Código para el botón “CONSULTA POR MES/CUENTA”.

Private Sub CommandButton4_Click()

UserForm7.Show

End Sub

Código para el botón “CONSULTA POR AÑO / CUENTA”

Private Sub CommandButton2_Click()

UserForm6.Show

End Sub

Código para el botón “CONSULTA POR MES / AÑO”

Private Sub CommandButton1_Click()

UserForm5.Show

End Sub

Código para el botón “BORRAR”.

Private Sub CommandButton3_Click()

Range(Cells(11, 5), Cells(111, 12)).Select

Selection.ClearContents

Cells(3, 8).Value = ""

End Sub

Ahora solo te que probar el proyecto, realiza una simulación de tu contabilidad doméstica,

agregando aquellas cuentas como Salarios, Gastos de Electricidad, Gas, Teléfono, Alimentación

etc.

Realiza los correspondientes apuntes y para finalizar realizar los resultados para saber el estado

de tus cuentas.

Tú puedes agregar más botones con diferentes consultas guiándote con el código de un botón.

En la misma página web donde has descargado este tutorial podrás descargar el proyecto en

Excel por si me he dejado algún detalle y tú lo puedas averiguar.

Si puedes mándame un comentario al correo [email protected]