Buscar datos en función de textbox macro

Estoy armando una macro que al ingresar un valor en el Textbox me traiga de una planilla excel valores relacionados a ese texto. La macro creada funciona bien, pero el problema que encuentro es que busca parecidos y yo necesito que coincida el valor exacto.

Es decir si se ingresa el valor 100 pero el mismo no existe en la planilla pero si el 1001 trae los datos de este ultimo. En caso de que no exista el valor necesitaría que arroje un mensaje "No existe valor"

Muchas gracias!

Copio la macro:

Private Sub TextBox1_AfterUpdate()
    Set h = Sheets("Solicitudes Constitución")
    Set b = h.Columns("A").Find(TextBox1.Text)
    If Not b Is Nothing Then
        TextBox2 = FormatCurrency(h.Cells(b.Row, "N"), 2)
        TextBox3 = h.Cells(b.Row, "B")
        TextBox4 = h.Cells(b.Row, "D")
        TextBox5 = h.Cells(b.Row, "I")
        TextBox8 = h.Cells(b.Row, "K")
    End If
End Sub

1 respuesta

Respuesta
1

Te anexo el código actualizado

Private Sub TextBox1_AfterUpdate()
    Set h = Sheets("Solicitudes Constitución")
    Set b = h.Columns("A").Find(TextBox1.Text, lookat:=xlWhole)
    If Not b Is Nothing Then
        TextBox2 = FormatCurrency(h.Cells(b.Row, "N"), 2)
        TextBox3 = h.Cells(b.Row, "B")
        TextBox4 = h.Cells(b.Row, "D")
        TextBox5 = h.Cells(b.Row, "I")
        TextBox8 = h.Cells(b.Row, "K")
    Else
        MsgBox "No existe valor"
    End If
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Funciona a la perfección!!!

Muchas gracias Dante por la ayuda!

Tengo una consulta adicional para ver si puedo agregarle una variable. Si en lugar de solo buscar el contenido de un textbox necesitaría buscar el contenido de un textbox y el caption de un option button?

Esto es.. en una instancia previa de este formulario cada alta me genera un ID, que es un numero x ingresado por el usuario + un option button seleccionado de un grupo de 3. es decir que yo podria tener en la misma planilla los siguientes ids:

0001A

0001B

0001C

donde ABC son 3 option buttons distintos. el usuario debería ingresar el textbox 0001 y seleccionar una de las opciones para que traiga el valor corresponidente. Esto es realizable?

Muchas gracias de antemano!

Vengo siguiendo tus respuestas y son excepcionales!

Quedaría así:

Private Sub TextBox1_AfterUpdate()
'act.Por.Dante Amor
    If OptionButton1 Then clave = TextBox1.Text & "A"
    If OptionButton2 Then clave = TextBox1.Text & "B"
    If OptionButton3 Then clave = TextBox1.Text & "C"
    '
    Set h = Sheets("Solicitudes Constitución")
    Set b = h.Columns("A").Find(clave, lookat:=xlWhole)
    If Not b Is Nothing Then
        TextBox2 = FormatCurrency(h.Cells(b.Row, "N"), 2)
        TextBox3 = h.Cells(b.Row, "B")
        TextBox4 = h.Cells(b.Row, "D")
        TextBox5 = h.Cells(b.Row, "I")
        TextBox8 = h.Cells(b.Row, "K")
    Else
        MsgBox "No existe valor"
    End If
End Sub

sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas