Buscar valor de dos textbox en dos columnas Excel

Tengo un formulario y debo buscar en una hoja Excel, "Registros", los campos de los Textbox1 y Textbox2 del "Form_Registros" que coincidan con las columnas A y B de la hoja citada, "Registros".

Buscar con un solo Texbox podría hacerlo, pero que se cumplan los dos no se hacerlo.

Tengo la idea concatenando los Textbox y las columnas, pero no se ponerlo en la práctica.

2 Respuestas

Respuesta
1

Estos ejemplos

https://youtu.be/afLArBjJyz8

https://youtu.be/G-z1YGjYgkk

https://www.programarexcel.com/2013/04/macro-extrae-datos-en-base-criterios-y.html

Puedes concatenar los dos textbox y luego buscas esa cadena de texto 

Cad=textbox1 & textbox2

Mira estos ejemplos que podrán dar algo de idea al respecto

https://youtu.be/0xqYY1R8UxM

https://youtu.be/SWUB1hEXxUw

https://youtu.be/of5u7VXoIk8

Respuesta
2

Te dejo un ejemplo de cómo resolverlo. Tendrás que leer los comentarios en la macro para ajustar las referencias ya que no indicas en qué columnas estarán los datos a buscar.

Observa en la imagen que tengo una tabla y en los textbox coloco un texto de la col A y otro de la col F. Lo que hace la macro es filtrar la tabla por esas 2 columnas y si hay alguna fila filtrada coloca en los otros textbox el contenido del resto de las columnas... en este ejemplo solo el de la col C.

Private Sub CommandButton1_Click()
'x Elsamatilde
'se establece cuál es la última fila de la tabla
finx = Range("A" & Rows.Count).End(xlUp).Row
'se filtra la hoja por los criterios de los textbox (col A y F)... ajustar
If ActiveSheet.AutoFilterMode = False Then
    Range("A1:F1").AutoFilter
End If
ActiveSheet.Range("$A$1:$F$" & finx).AutoFilter Field:=1, Criteria1:=TextBox1.Text
    ActiveSheet.Range("$A$1:$F$" & finx).AutoFilter Field:=6, Criteria1:=TextBox2.Text
'se evalúa si hay registros encontrados
finy = Range("A" & Rows.Count).End(xlUp).Row
If finy < 2 Then
    'no hay datos encontrados
Else
    'se completan otros controles
    TextBox3 = Range("C" & finy)
End If
End Sub

Espero te sirva la idea. Si esto resuelve tu consulta no olvides valorarla (opciones: excelente o buena)

Esta es la imagen del ejemplo:

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas