Sei sulla pagina 1di 11

Diseando el formulario en VBA, usando los controles y objetos.

Controles
Label: Etiquetas para los campos
TextBox: Caja de texto para capturar datos
CommandButton:Botn
ComboBox: Cuadro combinado para seleccionar
opcin.
OptionButton: Opcin
Frame: Marco para agrupar objetos.
Page: Objeto de pginas
Etapas:
Diseo: Organizar objetos en la forma
Cdigo: Programacin de procedimientos y eventos.
Ejecucin: Uso del formulario
1) Para referenciar a los TextBox se utiliza las siglas txt+nombre, ejemplo:

Cuadro de Texto para Apellidos: txtapellidos

2) Para referenciar a los cuadros combinados se utiliza cmb+nombre, ejemplo:
Cuadro combinado de ao: cmbao

3) Para referenciar al control de fecha(Date timer picker) se utiliza dtp+nombre,
ejemplo:
Control de fecha: dtpfecha

4) Para referenciar a las opciones (Optionbutton) se utiliza opt+nombre, ejemplo:
Seleccionar Gnero: optgenero
Private Sub btnconsultar_Click()

Dim UltFila As Long
UltFila = Range("B" & Rows.Count).End(xlUp).Row
b = 0

For i = 1 To UltFila

If Hoja1.Cells(i, 1) = txtced Then
txtapellidos = Hoja1.Cells(i, 2)
txtnombres = Hoja1.Cells(i, 3)
txtdireccion = Hoja1.Cells(i, 4)
txttelf = Hoja1.Cells(i, 5)
txtempresa = Hoja1.Cells(i, 6)
txtao = Hoja1.Cells(i, 7)
txtcargo = Hoja1.Cells(i, 8)
txtsueldo = Hoja1.Cells(i, 9)
txtdirtrabajo = Hoja1.Cells(i, 10)
txttelftrab = Hoja1.Cells(i, 11)
b = 1

End If

Next

If b = 0 Then
MsgBox "Error, Cdula Incorrecta, favor volver ingresar", vbCritical, "Mensaje"
End If


End Sub
Dim f As Long
f = Range("SOLICITANTE").Rows.Count + 1
Range("CEDULA")(f).Value = txtced
Range("FECHA")(f).Value = dtpfecha.Value
Range("APELLIDOS")(f).Value = txtapellidos
Range("NOMBRES")(f).Value = txtnombres
Range("DIRECCION")(f).Value = txtdireccion
Range("TELEFONO")(f).Value = txttelf
Range("EMPRESA")(f).Value = txtempresa
Range("AOINGRESO")(f).Value = txtao
Range("CARGO")(f).Value = txtcargo
Range("SUELDO")(f).Value = txtsueldo
Range("DIRTRAB")(f).Value = txtdirtrabajo
Range("TELFTRAB")(f).Value = txttelftrab

MsgBox "Datos Guardados", vbInformation, "Mensaje"
Call limpiar

Dim UltFila As Long
UltFila = Range("B" & Rows.Count).End(xlUp).Row

If txtced.Value = "" Then
MsgBox "Deber ingresar nmero de cdula", vbCritical, "Mensaje"
Exit Sub
End If

r = MsgBox("Esta seguro de eliminar el registro", vbQuestion + vbYesNo, "Mensaje")
If r = 6 Then
b = 0
For i = 1 To UltFila

If Hoja1.Cells(i, 1) = txtced Then
Hoja1.Rows(i).Delete
MsgBox "Registro Eliminado", vbInformation, "Mensaje"
Call limpiar
b = 1

End If

Next

If b = 0 Then
MsgBox "Error, Cdula Incorrecta, favor volver ingresar", vbCritical, "Mensaje"
End If

End If

Para validar si los cuadro de texto contienen datos:
Ejemplo 1: Si la casilla tiene datos
if txtcedula.value= then
msgbox Faltan datos, VbCritical, Mensaje
exit sub
End if

Ejemplo 2: Si la casilla tiene nmero
If Not Isnumeric(txtsueldo.text) then
msgbox Se deben ingresar nmeros, VbCritical, Mensaje
exit sub
End if
En ocasiones se requiere que el usuario confirme la accin que desea realizar.

Por ejemplo: Al eliminar un registro, lo correcto es solicitarle al usuario que confirme
si esta seguro de borrar el registro.

Programacin:

r=msgbox(Esta seguro de eliminar?,Vbquestion+Vbyesno, Mensaje)

Si el usuario responde si, entonces en r es almacena el valor 6, caso contrario es 7.
Luego:
If r=6 then
Se procede a realizar la accin de eliminacin
End if


Vbquestion icono de pregunta
Vbyesno botones de si y no

Potrebbero piacerti anche