Buscar datos repetidos en una columna excel

Distinguidos expertos:

Mi consulta, después de revisar bastantes macros y códigos que me indican como eliminar o destacar los datos repetidos, es la siguiente:

tengo una planilla excel que se va llenando mediante un userform, en este userform tengo un textbox en donde se ingresa un código (en este caso es código numérico) que debe ser único, necesito saber si se puede generar un código que busque en una sola columna de la planilla excel si el código ya existe, si es así que me indique que ese código ya existe y me pida reingresar un nuevo código en ese textbox y si no existe que me permita ingresar los demás datos del userform..

Atentamente.

1 respuesta

Respuesta
1

Este es el código

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Por.DAM
Set b = Sheets("Hoja1").Range("B:B").Find(Val(TextBox1), LookAt:=xlWhole)
If Not b Is Nothing Then
    MsgBox "El código ya existe, debes reemplazarlo"
    Cancel = True
End If
End Sub

Cambia Hoja1 por el nombre de tu hoja, "B:B" por la columna donde se va a buscar, "Textbox1" por el nombre de tu textbox.

Debes presionar enter después de capturar el código para que se active el evento y empiece la búsqueda.

Saludos. Dante Amor
Si es lo que necesitas.

hola dante, copie tu código en mi proyecto y realice los cambios que me sugeriste, pero aun asi no funciona... podrías darme un correo para enviarte mi planilla y la corrijas?

El código claro que funciona.

Pero, envíame tu archivo con tu formulario y le adapto el código.


Saludos. Dante Amor

dante, envíe lo solicitado

En el código pusiste la hoja "clientes", en esa hoja no tienes datos.

¿Revisa en cuál hoja tiene que hacer la búsqueda si es clientes o ventas?

Cambié la hoja y le puse "ventas", puse el cliente 3456 y si hace la búsqueda correcta, pero yo no sé si quieres buscar el cliente en la hoja "ventas" o en la hoja "clientes".

Si es en clientes, te sugiero que pongas algunos clientes en la hoja "clientes" para que puedas probar.

Así es como puse el código y si funciona.

Private Sub Textcliente_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Por.DAM
Set b = Worksheets("ventas").Range("B5:B1000").Find(Val(Textcliente), LookAt:=xlWhole)
If Not b Is Nothing Then
MsgBox "El código ya existe, debes reemplazarlo"
Cancel = True
End If
End Sub

Saludos. Dante Amor
No olvides finalizar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas