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
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 de Eduard Caballero
1