Contabilidad doméstica

Anuncio
Autor: Pere Manel Verdugo Zamora
Web: http://www.peremanelv.com/pere3/Sitio_web_2/Bienvenida.html
E-Mail: pereverdugo@gmail.com
1
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”.
2
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”.
3
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”.
4
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”.
5
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”.
6
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.
7
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.
8
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”.
9
Este será el resultado:
10
Seleccionaremos “Cuentas” y crearemos el siguiente “Hipervínculo”.
Seleccionaremos “Apuntes” y crearemos el siguiente “Hipervínculo”.
11
Seleccionaremos “Resultado” y crearemos el siguiente “Hipervínculo”.
Este será el resultado:
El siguiente paso será seleccionar toda la hoja y copiar.
12
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.
13
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”.
14
Este será el resultado:
Vamos a crear nuestro primer formulario:
Del menú “Insertar” seleccionaremos “UserForm”.
15
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:”.
16
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
17
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
18
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”.
19
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”.
20
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:
21
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
22
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
23
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
24
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
25
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
26
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
27
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”.
28
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
29
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)
30
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:
31
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
32
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 pereverdugo@gmail.com
33
Descargar