Alertar ingreso de duplicado en base de datos excel

Estimados amigos del foro, la situación es que quiero ingresar datos a mi base de datos pero para esto tengo un textbox y un botón cuyo código tiene la instrucción de evitar que se ingrese datos duplicados y ademas me alerta en caso de estar ingresando un dato duplicado. Pero lo que sucede es que no reconoce el duplicado luego del primer ingreso o en la primera fila de datos que es la fila 3 (En la fila 2 están los encabezados). Me alerta cuando voy a ingresar el dato en la quinta fila, osea el tercer ingreso ingreso. Me explico el primero ingresa pues no hay datos el segundo ingresa y no reconoce el duplicado a partir del tercero reconoce el suplicado que ya prácticamente seria triplicado

Este es el código que uso para la hoja4 :

Private Sub CmdAñadirU_Click()
dato = TbxUniv.Value
contarsi = Application.WorksheetFunction.CountIf(Sheets("HRef").Columns(2), dato)
If contarsi > 1 Then
MsgBox "El Dato ya existe, no se permiten duplicados"
TbxUniv.SetFocus
Exit Sub
Else
uf2 = Cells(Rows.Count, 2).End(xlUp).Row 'Univ
Hoja4.Range("B" & uf2 + 1) = TbxUniv
TbxUniv = ""
MsgBox "Dato ingresado"
End If
End Sub

1 respuesta

Respuesta
1

El problema es que estás evaluando cuantas apariciones tiene el dato ... cuando todavía no lo has ingresado.

La 1ra vez, contarsi devuelve 0 y recién entonces se coloca en fila 3.

La 2da vez devuelve 1 y por eso te permite escribir en fila 4.

Por lo tanto solo cambia la condición y pregunta si es > 0

If contarsi > 0 Then

Sdos y no olvides valorar la respuesta para dar por cerrado el tema.

Te recuerdo que las consultas siguen como 'pendientes'... ¿pudiste probar mi sugerencia?

Si todo queda resuelto no olvides valorarla, sino comenta y lo seguimos tratando.

PD) También tengo tus otro libro con las macros solicitadas... necesito un correo para enviártelos o escribe a los míos que se encuentran en mi sitio.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas