Como extraer parte de una matriz mediante búsqueda

Hola a todos! Tengo un problema, estoy elaborando una tabla de excel sobre la cual pueda efectuar consultas (una especie de filtro), pero tiene que aparecer el resultado en otra hoja, y no quiero que sea a través de tablas dinámicas.
Ejemplo:
A B C D
PIL -1 145 8.36
TOR -2 080 9.36
PIL -3 120 4.27
Si hiciese la búsqueda por "PIL", el resultado que quiero obtener es:
A B C D
PIL -1 145 8.36
PIL -3 120 4.27
Por favor, echarme una mano, ya que estoy gestionando todos los meses 3 tablas con cientos de registros, y se hace eterno. Muchísimas gracias por adelantado.

1 Respuesta

Respuesta
1
No dices si tienes algún conocimiento acerca de Macros, asumiré que si:
En un userform con un ComboBox1, un CommandButton1 (Filtrar) y un CommandButton2 (Cerrar) pega este Código:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Range("A2").Select
Do Until ActiveCell = ""
If ActiveCell = ComboBox1 Then
ActiveCell.EntireRow.Copy
Sheets("Hoja2").Select
If Range("A2") = "" Then
Range("A2").PasteSpecial xlPasteValues
Application.CutCopyMode = False
ActiveCell.Offset(1, 0).Select
Sheets("hoja1").Select
ActiveCell.Offset(1, 0).Select
Else
Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Application.CutCopyMode = False
ActiveCell.Offset(1, 0).Select
Sheets("hoja1").Select
ActiveCell.Offset(1, 0).Select
End If
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
Sheets("hoja2").Select
Unload Me
Application.ScreenUpdating = True
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub UserForm_Initialize()
Sheets("Hoja1").Select
ComboBox1.List = Range("A2", Range("A65536").End(xlUp)).Value
End Sub
Asumiendo que en la Hoja1 tienes los Datos a "Filtrar", ahí pon un CommandButton (Ojo, CommandButton, no solo Botón), dale doble click y pega este Código en medio de las lineas que aparecen:
Userform1.Show
Ahora solo dale click a ese Botón y aparecerá el Formulario (UserForm) dale click al ComboBox, elige el valor a Filtrar y dale Click al Botón Filtrar.
Hola Jerryeagle:
Ante todo, gracias por tu rapidez y dedicación en contestar
Del tema de macros, a penas sé nada. Estuve intentando componer lo que me dices pero me da errores por todas partes.
¿No hay algo más sencillo para torpes como yo?
Llegué a poder filtrarlo en la misma hoja (pero en distinto sitio) con un filtro avanzado, pero no puedo trasladarlo a otra hoja.
Un saludo
Tienes que entrar a Modo Visual Basic presionando Alt + F11, ya ahí, del lado izquierdo buscas el nombre de tu libro (Archivo) le das click derecho, se abre un submenú, buscas insertar --> Userform, aparece del lado derecho un cuadro gris (es el userform1) y una ventanita de controles, ahí buscas el Combobox le das click izquierdo y lo arrastras al cuadro gris, luego buscas el CommandButton y lo arrastras al cuadro gris, ahora dale doble click al userform (el cuadro gris), borra las dos lineas que aparecen, estas:
Sub Userform_Click()
End sub
Y en pegas todo el código que te puse arriba, ahora dale click derecho otra vez al nombre del archivo (del lado izquierdo) y ponle a Insertar --> Modulo, ahí pon el siguiente código:
Sub Iniciar()
Userform1.Show
End Sub
Presiona Alt+F4 para cerrar el modo Visual Basic y regresar a la hoja Excel, ahora para que no tengas que poner un botón en la hoja de excel, ve a Herramientas--> Macros y busca el que diga Iniciar, dale click izquierdo y presionas el Botón Ejecutar. Listo
Muchísimas Gracias.
Jerryeagle, eres un máquina!
Ya funciona a la perfección. Muchas gracias por detallarme paso a paso los pasos. Ahora ahorraré un montón de tiempo todos los meses.
Un saludo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas