Ayuda con código do while y con worksheetfunction.vlookup

hola amigos! Bueno tengo una duda, resulta que creee un userform en el que registro datos de clientes de una farmacia, la operación que quiero realizar es que al momento de ingresar un código de identidad se verifique en la lista de clientes registrados si ese código ya existe y me salga un msgbox("ya existente") intente este código:

Hoja2.Activate

Range("A1").Select

Do While (ActiveCell <> TextBox1.Text)
ActiveCell.Offset(1, 0).Activate
If ActiveCell = TextBox1.Text Then

MsgBox ("CI ya existente")

Else

ActiveCell = Empty

End If

Loop

si funciona pero mi problema es que no se com darle un limite de rangos para que verfique pues en caso de no existir el CI k ingrese se tomo como 20 mins recorriendo tooooooodos los rangos de la columna ( hasta el 999000 algo) y no sec omo hacerle para darle las limitaciones a eso.otro código que use es :

Dim B

On Error Resume Next

A = Val(TextBox1.Text)

B = Application.WorksheetFunction.VLookup(A, Sheets("CLIENTES").Range("a1:f1000"), 1, False)

If Err.Number <> 0 Then

If Err.Number = CVErr(xlErrNA) Then

MsgBox "#N/A"

Else

MsgBox "Err:" & Err.Number & " " & Err.Description

End If

On Error GoTo 0

Else

MsgBox answer

End If

bueno ak entendi que hay que crear un error o algo asi para que al func vlookup funcione, al parecer si funciona este código pero no se como hacerle el lenguaje de if's para que si ya existe el CI que se ingrese saga el msgbox respectivo. Nose si me hago entender..bueno eso eso todo jeje si alguien sabe una ayudatida por favor gracias!

1 Respuesta

Respuesta
1

Dim V as Range

Set V = Sheets("CLIENTES").Range("a1:f1000").Find(A,lookAt:=xlWhole)

If Not V is Nothing Then MsgBox("El Cl " & A & " ya existe"): Exit Sub

AH ok muchas gracias ese código me gusta mas, ya le hice algunas modificaciones

Dim V As Range A = Val(TextBox1.Text) Set V = Sheets("CLIENTES").Range("a1:f1000").Find(A, lookAt:=xlWhole)
If Not V Is Nothing Then MsgBox ("El Cl " & V & " ya existe") TextBox1 = Empty Else If V Is Nothing Then MsgBox (" CI no registrado") End If

funciona perfectamente bien....gracias!!

Si no necesitas mas ayuda, favor d finalizar la pregunta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas