Buscar en hoja1 si existe la infor. De Texb. 1 y tex2

Primero muchas gracias por tu tiempo.
Te explico tengo una maestra en la hoja1 en donde tengo un numero de cont, un numero de cod y una cantidad, y lo que necesito es que al ingresar la inf. A la hoja2 (Cont, Cod, Cant) primero me verifique si existe el cont y cod, en la hoja 1 y luego al ingresar la cantidad me de un mensaje (msgbox) que me diga si la cantidad ingresada es diferente a la que hay.
Yo te adjunto mi código es pequeño, y lo tengo asociado a un botn de ingreso a un userform, yo estaba tratando de hacerlo con un VLOOKUP pero no me ha podido resultar y creo que seria mucho mejor con un bucle( do While, for) pero hasta llego no le pego tanto.
Private Sub cmb_ing_Click()
Sheets("hoja2").Select 'selecciona la hoja "datos"
Range("A1").Select 'selecciona el rango (en este caso la celda) "A1"
Do While Not IsEmpty(ActiveCell) 'encuentra la ultima celda con datos
ActiveCell.Offset(1, 0).Select 'en la ultima celda con datos, muevete una fila abajo
Loop 'bucle
ActiveCell = Me.txt_con 'copia el contenido del textbox1 a la celda activa
ActiveCell.Offset(0, 1).Select 'muevete en la misma fila, una columna a la derecha
ActiveCell = Me.txt_cod 'copia el contenido del textbox2 a la celda activa
ActiveCell.Offset(0, 1).Select
ActiveCell = Me.txt_cant
ActiveCell.Offset(0, 1).Select
Dim aa As String
Dim bb As Integer
Dim cc As String
Dim DD As String
aa = Trim(txt_con + txt_cod) ' concateno los 3 campos ingresados y lo asigo a texbox4
Me.TextBox4.Value = aa
ActiveCell = TextBox4
ActiveCell.Offset(0, 1).Select
ULT_YEST = Sheets("hoja1").Range("f65536").End(xlUp).Row
ActiveCell.FormulaR1C1 = "=+VLOOKUP(RC[-1],Hoja1!R2C1:R5000C2,6,FALSE)" ' EN ESTA LINEA NO SE COMO ME TOME LA COLUM F
ActiveCell.Offset(0, 1).Select
ActiveCell.Offset(0, 1).Select
TextBox1 = Empty 'textbox1, dejar en blanco
TextBox2 = Empty 'etc
TextBox3 = Empty
TextBox4 = Empty
TextBox5 = Empty
MsgBox "Datos guardados" 'mostrar el mensaje "Datos guardados"
End Sub

1 respuesta

Respuesta
1
Acá tienes un ejemplo según lo que entendí
Private Sub CommandButton1_Click()
Sheets(1).Range("A1").Select
Do While Not IsEmpty(ActiveCell)
If ActiveCell = TextBox1 And ActiveCell.Offset(0, 1) = TextBox2 Then
cantidad = ActiveCell.Offset(0, 2)
Sheets(2).Select
Range("A65536").End(xlUp).Select
ActiveCell.Offset(1, 0).Select
ActiveCell = TextBox1
ActiveCell.Offset(0, 1) = TextBox2
ActiveCell.Offset(0, 2) = TextBox3
If cantidad = TextBox3 Then
MsgBox "La cantidad ingresada es igual a la existente"
Exit Sub
Else
MsgBox "La cantidad ingresada es diferente a la existente"
Exit Sub
End If
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
End Sub
Revísalo y adáptalo a lo que deseas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas