Está en la página 1de 6

CREAR UN SISTEMA DE INGRESO DE DATOS

Pasos:

1. El primer paso sera disear nuestros campos de celdas para luego realizar la insercin
de datos el diseo de nuestra base de datos debera ser similar al de la imagen.

2. El segundo paso es activar la ficha del programador que por lo general viene
deshabilitada, para activarla seguiremos la siguiente secuencia:
a. Archivo >> Opciones >> Personalizar Cinta de Opciones. En la segunda columna
donde estn las pestaas principales activaremos la casilla Desarrollador.

3.

El segundo paso sera, ver las opciones de la cinta Desarrollador. El primer botoncito
que aparece es el de Visual Basic es ah donde nosotros crearemos nuestro ejercicio,
seguido de otro botoncito de Macros esto nos servir para visualizar y eliminar si fuera
el caso de todas las macros que hayamos creado. Presionamos sobre el botoncito de
Visual Basic y nos abre el editor de cdigo de VBA. No se asusten, es una ventana ms
solo hay que seguir unos sencillos pasos ahora.

4.

Estando en el editor vamos a la opcin insertar UseForm que se encuentra al costado


del smbolo de excel como se muestra en la figura. Van a ver que aparece el formulario
en su forma ms primitiva, ahora vamos a tener que trabajar sobre l.

5.

El formulario tiene varias propiedades pero voy a hacer referencia a dos, que son
importantes para este ejercicio.
a. La primera es al nombre del formulario name. Que es el nombre que utilizamos para
referirnos a l en el cdigo.
b. El segundo es la propiedad caption que es el nombre a mostrar del formulario.
Para ver estas propiedades debemos abrir la ventana de propiedades, podemos
buscarla en las solapas o directamente apretar F4.

Ahora, en la lista de propiedades, a la propiedad name le ponemos un nombre, por


ejemplo ingreso. Y a la propiedad caption le ponemos ingreso al stock por
ejemplo.

6.

En este paso, lo que nos queda es ingresar los 4 campos del formulario. Para eso hay
que utilizar el cuadro de herramientas del editor. De los controles elegimos el que dice
cuadro de texto vern que el puntero del mouse es una cruz, nos movemos hasta el
formulario y con clic izquierdo apretado dibujamos el cuadro de texto donde lo
queramos. Este primero ser el d. Luego del cuadro de texto elegimos etiqueta y con
el mismo procedimiento crearemos la etiqueta a la izquierda del cuadro de texto. Vern
que aparece en la etiqueta por defecto con la palabra label, la deben cambiar por ID.

Para los otros campos proceder de la misma manera.


Para agregar la imagen, en el cuadro de texto elegimos imagen y posicionamos con
el mouse el lugar donde ira la imagen. Vern que aparece vaca, para que aparezca la
imagen que queremos debemos ir a las propiedades de la imagen y donde dice
picture, a la derecha les dejara abrir el cuadro examinar donde podrn buscar la
imagen en formato *.bmp que deseen.

7.

Ahora nos falta poco, nos queda agregar al formulario dos botones de comando. Uno
que sea aceptar o ingresar y el otro que diga cancelar en caso que queramos
cerrar el formulario y cancelar el ingreso.
Para crear los botones buscamos del cuadro de herramientas el control que dice botn
de comando. Con el mismo procedimiento que usamos para los dems controles
dibujamos el botn. Nos aparece con la palabra command button por lo que en las
propiedades le cambiamos las dos propiedades que explicamos anteriormente name
y caption por ejemplo stock e ingresar para este ejemplo. El botn cancelar le
pueden cambiar el caption por cancelar.

8.
a.

El ltimo paso sera crear el cdigo para los dos botones creados.
Botn Cancelar: empezamos con el ms fcil, este botn tiene que cerrar el formulario
solamente.
Para introducir el cdigo le damos doble clic sobre el botn y ponemos el siguiente
cdigo.
Private Sub CancelButton_Click()
Unload Me
End Sub

b.

Botn Ingresar: este el botn ms importante, con el vamos a tener que hacer la
mismas acciones que hacamos con el formulario del post anterior. Estas acciones
seran en la base de datos, agregar una fila de datos vacios y llenar luego los campos
con los datos del formulario.

El cdigo es el siguiente, es fcil de interpretar como vern.


Private Sub ingresar_Click()

With Sheets("Stock productos")


.Rows("5:5").Insert Shift:=xlDown
.Rows("5:5").Interior.Pattern = xlNone
.Range("A5").Value = Id
.Range("B5").Value = producto
.Range("C5").Value = cantidad
.Range("d5").Value = desc
End With
End Sub
Esos son todos los pasos. No falta nada, excepto probar el formulario.

BOTON BUSCAR: Este cdigo hace lo mismo que hacemos para buscar elementos de una base de
datos con el BUSCARV. La diferencia es que lo hacemos con cdigo desde el formulario y no desde
celdas de la planilla. Se utiliza dentro del objeto WorkSheetFunction el
mtodo Vlookup (BuscarV en Ingls). Se deben declarar las mismas variables habituales, tal como
lo usamos comnmente. Primero la variable a buscar, luego dnde buscar, luego el indicador de
columnas y luego si queremos coincidencia exacta o no.
Usamos el On Error Resume Next en este caso sin peligro ya que lo nico que hace es evitarnos
mostrar el error de un dato no encontrado. Cuando no encuentra un Id, no muestra resultado.
Con el ID introducido buscamos los tres datos que necesitamos, el nombre del producto, la
cantidad y la descripcin.
Private Sub buscar_Click()
On Error Resume Next
producto.Value = WorksheetFunction.VLookup(Val(Id.Value), Sheets(1).Range("A5:D12"), 2, False)
cantidad.Value = WorksheetFunction.VLookup(Val(Id.Value), Sheets(1).Range("A5:D12"), 3, False)
desc.Value = WorksheetFunction.VLookup(Val(Id.Value), Sheets(1).Range("A5:D12"), 4, False)
End Sub
BOTON MODIFICAR: en este cdigo primeramente declaramos una nueva variable denominada
bus_id. Para declararla usamos el mtodo Match (Coincidir en Ingls) que es el mismo de las
formulas de Excel. Nos arroja como resultado la fila dnde esta el dato que coincide con el
introducido en ID. Es decir que compara el valor de Id con la columna de Ids y nos dice dnde

esta el valor buscado. Se utiliza un checkbox condicional para no tener que estar sumando
manualmente una cantidad previamente introducida con un valor nuevo a cargar en el stock. Una
vez ejecutado el comando se actualizan todos los valores correspondientes.
Recuerden que el With nicamente nos sirve para no tener que volver a declarar una parte del
cdigo, en este caso la hoja Stock Productos.
Private Sub modifica_Click()
bus_id = WorksheetFunction.Match(Val(Id.Value), Sheets(1).Range("A5:A12"), 0) + 4
With Sheets("Stock productos")
.Range("B" & bus_id).Value = producto.Value
If suma.Value = False Then
.Range("C" & bus_id).Value = cantidad.Value
Else
.Range("C" & bus_id).Value = Range("C" & bus_id).Value + cantidad.Value
End If
.Range("d" & bus_id).Value = desc.Value
End With
End Sub
TEXTBOX ID: este cdigo responde a un evento Change (cambio en ingls). Si cambia algo en el
textbox id ejecuta las acciones declaradas. En este caso habilita los botones Buscar y modificar
y deshabilita el botn Guardar Nuevo. Cmo con en las propiedades del textbox ID esta
declarado como 0, el focus del cursor esta en el textbox ID, al hacer backspace o tecla
retroceso se borra el ID, se ejecuta el cdigo y podemos introducir numero de ID nuevo.
Private Sub Id_Change()
If Val(Id.Value) = 0 Then
Buscar.Enabled = True
ingresar.Enabled = False
modifica.Enabled = True
End If
End Sub
CHECKBOX SUMAR: este cdigo hace que cuando cambia el estado del checkbox se vuelva el
focus al textbox de cantidad y se borre el valor anterior. Se borra el valor en el textbox no as en
la base de datos, si actualizamos con el botn modificar se guarda el valor segn cmo este el
textbox. Si esta tildado suma al valor anterior sino lo reemplaza.
Private Sub suma_Click()
If suma.Value = True Then
cantidad.SetFocus
cantidad.Value = ""
End If
End Sub

También podría gustarte