Al momento de crear una base de datos en excel existen ciertas características que pueden pertenecer a todos los cliente y otras que solo alguno lo tienen. Pero en el momento de crear el formulario no es necesario tener todos los campos y que en todos los casos sean accesible puede llevar a ingresar datos de manera errónea.
Para Ingresar los datos correspondientes al cliente, se elaboró una pantalla de inicio para proteger el resto de las hojas y así evitar errores por mal uso.
Al apretar el botón para ingresar el nuevo cliente, se accede a un Formulario
Sub Ingresar_Empresas()
IngresarCliente.Show
End Sub
El cual es como se presenta a continuación
El cual tiene las siguientes macros asociadas
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
If CheckBox7 = False Then
TextBox13.Value = "."
TextBox19.Value = "."
TextBox18.Value = "."
TextBox17.Value = "."
Else
End If
If (TextBox1.Value = "" Or TextBox2.Value = "" Or TextBox9.Value = "" Or TextBox10.Value = "" Or TextBox11.Value = "" Or TextBox12.Value = "") Then
MsgBox ("Faltan datos para ingresar cliente respectivo")
Else
'para ingresar los datos de los clientes
Sheets("Clientes").Unprotect
Sheets("Clientes").Select
Range("A1").Select
filafinal = Selection.End(xlDown).Row
FILANUEVA = filafinal + 1
Range("A" & FILANUEVA) = filafinal
Range("B" & FILANUEVA) = TextBox1.Value
Range("C" & FILANUEVA) = TextBox2.Value & TextBox3.Value
Range("D" & FILANUEVA) = TextBox9.Value
Range("E" & FILANUEVA) = TextBox10.Value
Range("F" & FILANUEVA) = TextBox11.Value
Range("G" & FILANUEVA) = TextBox12.Value
If CheckBox7.Value = True Then
contacto = 1
End If
Range("H" & FILANUEVA) = TextBox4.Value
If contacto = 1 Then
Range("I" & FILANUEVA) = TextBox13.Value
Else
Range("I" & FILANUEVA) = "S/I"
End If
Range("J" & FILANUEVA) = TextBox15.Value
If contacto = 1 Then
Range("K" & FILANUEVA) = TextBox19.Value
Else
Range("K" & FILANUEVA) = "S/I"
End If
Range("L" & FILANUEVA) = TextBox20.Value
If contacto = 1 Then
Range("M" & FILANUEVA) = TextBox18.Value
Else
Range("M" & FILANUEVA) = "S/I"
End If
Range("N" & FILANUEVA) = TextBox8.Value
If contacto = 1 Then
Range("O" & FILANUEVA) = TextBox17.Value
Else
Range("O" & FILANUEVA) = "S/I"
End If
Unload Me
ThisWorkbook.Save
Columns("A:O").EntireColumn.AutoFit
Range("A1").Select
Sheets("Clientes").Protect
Sheets("Inicio").Select
End If
Application.ScreenUpdating = True
End Sub
Para Hacer Visible el campo "extra", que en este caso son contactos se crea un checkbox en el formulario para mostrar o no los campos extras.
Private Sub CheckBox7_Click()
If CheckBox7.Value = True Then
Label15.Visible = True
TextBox13.Visible = True
TextBox19.Visible = True
TextBox18.Visible = True
TextBox17.Visible = True
TextBox13.Value = ""
TextBox19.Value = ""
TextBox18.Value = ""
TextBox17.Value = ""
Else
Label15.Visible = False
TextBox13.Visible = False
TextBox19.Visible = False
TextBox18.Visible = False
TextBox17.Visible = False
End If
End Sub
Finalmente ingresando datos en la tabla correspondiente
Para observar el excel completo siga el siguiente enlace.
https://db.tt/0bTyj9YQ
No hay comentarios:
Publicar un comentario