Excel, macro, consultar varios campos

Buenos días,
Estoy intentando realizar una macro donde consultar varios campos de forma simultanea, es decir, tengo 12 campos de cada registro, pero algunos se repiten. En el primer campo, como siempre, pongo el "exclusivo" que es biunivoco, pero los demás no. Así que si quiero consultar los registros por varios campos que no sea el primero, entonces... Es más difícil.
Por ahora solo tengo el primero, como ya he dicho: Private Sub CommandButton6_Click()
Cells.Find(What:=TextBox30, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
ActiveCell.Offset(0, 1).Select
TextBox31 = ActiveCell
ActiveCell.Offset(0, 1).Select
ComboBox2 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox32 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox33 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox34 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox35 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox36 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox37 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox38 = ActiveCell
ActiveCell.Offset(0, 1).Select
Label48 = ActiveCell
ActiveCell.Offset(0, 1).Select
Label45 = ActiveCell
End Sub
Que es obvio, pero quiero poder consultar los registros mediante otros campos y ademas, a la vez. ¿Me puedes ayudar?
Y más difícil todavía... Me gustaría que si inserto en la consulta un campo que varios registros poseen, entonces se abra una ventana con todos los registros que tienen es campo. ¿Es esto posible?
Un saludo y gracias
Respuesta
1
Es posible pero infortunadamente es un código muy complejo
Pero es muy extenso y complejo dado que tienes que emplear la función
Cells.Find(What:=VARIABLE, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=(xlByRows o xlbyColumns), SearchDirection:=xlNext, _ MatchCase:=True).Activate
pero la empleas segun casos con condicionales segun como la desees ensamblar y que sea un bucle con un do while y listo! una vez el encuentre que los almacene en una matriz y la defines asi:
dim MiMatriz(10,10) as integer
Y listo así te puedo colaborar.
He estado intentando utilizar lo que me comentas, pero no consigo hacerlo. Te refieres a que el Cells.Find... ¿es para cada textbox mediante condicional? La verdad es que no entiendo muy bien como me quieres decir.
Bueno el código que te envíe es único para cada caso, porque igual recuerda que la función cells. Find busca en todo lado y bueno para colaborarte más infortunadamente no alcanzo por razones de trabajo, pero consulta sobre coclos de búsqueda por google, búsqueda en rangos y encontraras lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas