Registrar datos no repetidos en celdas
Hola que tal como estas.. Bueno espero me puedas ayudar con esto que estoy sufriendo desde hace semanas espero que si puedas ayudarme y estaré muy agradecido de ti... Mira lo que quiero es que me ayudes a grabar datos en celdas desde un userform mira te explico bien. En la hoja "DATOS EMPLEADOS" tengo la columa
a1=codigo
b1=nombre
c1apellidos
d1=cargo
e1=nombres y apellidos
f1=foto
y en mi userform "registro de empleados" tengo 6 textbox
textbox 2= codigo (ingreso)
textbox 3 = nombre(ingreso)
textbox 4 = apellidos(ingreso)
textbox 5 = cargo(ingreso)
textbox 6 = nombres y apellidos (concateno textbox3& ","& " " &textbox 4)
textbox 7 = foto (concateno "foto-"&""&textbox2)
Yo tengo este código que me graba perfectamente los datos si ingreso un empleado con código prr002 y sus restos de datos lo graba normal pero perooo..! Si pongo otra vez prr002 me vuelve a grabar cosa que no quiero porque el código debe de ser único.. Y quiero que cuando se vuelva a repetir el código me salga un mensaje de "el código ya existe" o algo por el estilo por favor de verdad te agradecería mucho..!
'Desprotegemos la hoja
ActiveSheet.Unprotect
'Nos situamos al principio
On Error GoTo ConError
Range("A1").Select
'Bajamos hasta encontrar la fila vacía
If Me.TextBox2.Text <> "" And TextBox3.Text <> "" And TextBox4.Text <> "" Then
Do While Not IsEmpty(ActiveCell)
'Bajamos una fila
ActiveCell.Offset(1, 0).Select
Loop
'grabamos los datos en la primera fila vacía
'primero el CODIGO DEL EMPLEADO
ActiveCell = TextBox2
'ahora EL NOMBRE
ActiveCell.Offset(0, 1) = TextBox3.Text
'ahora LOS APELLIDOS
ActiveCell.Offset(0, 2) = TextBox4.Text
ActiveCell.Offset(0, 3) = TextBox5.Text
'-------------CARGA EL NOMBRE Y APELLIDO----------------
Me.TextBox6.Text = ""
MsgBox ("REGISTRO GRABADO CON EXITO"), vbInformation, "ADMINISTRACION"
Worksheets("DATOS EMPLEADOS").Range("A1:F50"), 5, 0)
TextBox2.SetFocus
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
Me.TextBox6.Text = ""
Me.TextBox7.Text = ""
Exit Sub
Else
ConError:
MsgBox ("NO SE PUDO GRABAR LOS DATOS, POR FAVOR VUELVA A INTENTARLO"), vbInformation, "ADMINISTRACION"
'limpiamos los textbox
End If
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
'ponemos el focus en el TextBox1
TextBox2.SetFocus
'protegemos la hoja
ActiveSheet.Protect
a1=codigo
b1=nombre
c1apellidos
d1=cargo
e1=nombres y apellidos
f1=foto
y en mi userform "registro de empleados" tengo 6 textbox
textbox 2= codigo (ingreso)
textbox 3 = nombre(ingreso)
textbox 4 = apellidos(ingreso)
textbox 5 = cargo(ingreso)
textbox 6 = nombres y apellidos (concateno textbox3& ","& " " &textbox 4)
textbox 7 = foto (concateno "foto-"&""&textbox2)
Yo tengo este código que me graba perfectamente los datos si ingreso un empleado con código prr002 y sus restos de datos lo graba normal pero perooo..! Si pongo otra vez prr002 me vuelve a grabar cosa que no quiero porque el código debe de ser único.. Y quiero que cuando se vuelva a repetir el código me salga un mensaje de "el código ya existe" o algo por el estilo por favor de verdad te agradecería mucho..!
'Desprotegemos la hoja
ActiveSheet.Unprotect
'Nos situamos al principio
On Error GoTo ConError
Range("A1").Select
'Bajamos hasta encontrar la fila vacía
If Me.TextBox2.Text <> "" And TextBox3.Text <> "" And TextBox4.Text <> "" Then
Do While Not IsEmpty(ActiveCell)
'Bajamos una fila
ActiveCell.Offset(1, 0).Select
Loop
'grabamos los datos en la primera fila vacía
'primero el CODIGO DEL EMPLEADO
ActiveCell = TextBox2
'ahora EL NOMBRE
ActiveCell.Offset(0, 1) = TextBox3.Text
'ahora LOS APELLIDOS
ActiveCell.Offset(0, 2) = TextBox4.Text
ActiveCell.Offset(0, 3) = TextBox5.Text
'-------------CARGA EL NOMBRE Y APELLIDO----------------
Me.TextBox6.Text = ""
MsgBox ("REGISTRO GRABADO CON EXITO"), vbInformation, "ADMINISTRACION"
Worksheets("DATOS EMPLEADOS").Range("A1:F50"), 5, 0)
TextBox2.SetFocus
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
Me.TextBox6.Text = ""
Me.TextBox7.Text = ""
Exit Sub
Else
ConError:
MsgBox ("NO SE PUDO GRABAR LOS DATOS, POR FAVOR VUELVA A INTENTARLO"), vbInformation, "ADMINISTRACION"
'limpiamos los textbox
End If
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
'ponemos el focus en el TextBox1
TextBox2.SetFocus
'protegemos la hoja
ActiveSheet.Protect
3 Respuestas
Respuesta de prozac
1
Respuesta de calvuch
1
Respuesta de Eduard Caballero
1