Visual Basic para Aplicaciones - BUSQUEDA FILTRADA DE UN DATO ESPECIFICO SELECCIONADO DE UN LISTBOX

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 3
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

BUSQUEDA FILTRADA DE UN DATO ESPECIFICO SELECCIONADO DE UN LISTBOX

Publicado por Abraham (3 intervenciones) el 21/03/2021 10:45:35
Hola a todos, estoy realizando un archivo en donde al seleccionar una de las filas que se muestra en el listbox del primer userform requiero que al dar doble click me arroje la informacion filtrada de dicha seleccion.

Ejemplo al buscar el mes Marzo y abrir el primer formulario (userform) me arroja la informacion filtrada solo de marzo y posteriormente que al seleccionar alguno de los datos del listbox que arrojo del mes de marzo ahora arroje información igualmente filtrada de dicha selección haciendo el filtro de la columna "Banda" y asi tener ambos filtros uno en cada userform, el primero arrojando eventos del mes de marzo y el segundo los eventos de marzo de acuerdo a la banda seleccionada del list box, espero haberme dado a entender y espero puedan ayudarme, de antemano muchas gracias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Private Sub TextBox1_Change()
Dim Hoja As Worksheet
Dim Filas As Integer
Dim i As Integer
 
Set Hoja = Sheets("DATOS")
Filas = Hoja.Range("A1").CurrentRegion.Rows.Count
 
If Me.TextBox1.Value = "" Then Exit Sub
 
Me.ListBox1.Clear
 
For i = 1 To Filas
 
    If Hoja.Cells(i, 1).Value = Me.TextBox1.Value Then
        Me.ListBox1.AddItem Hoja.Cells(i, 1)
        Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Hoja.Cells(i, 1).Offset(0, 1)
        Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = Hoja.Cells(i, 1).Offset(0, 2)
        Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = Hoja.Cells(i, 1).Offset(0, 3)
        Me.ListBox1.List(Me.ListBox1.ListCount - 1, 4) = Hoja.Cells(i, 1).Offset(0, 4)
        Me.ListBox1.List(Me.ListBox1.ListCount - 1, 5) = Hoja.Cells(i, 1).Offset(0, 5)
        Me.ListBox1.List(Me.ListBox1.ListCount - 1, 6) = Hoja.Cells(i, 1).Offset(0, 6)
        Me.ListBox1.List(Me.ListBox1.ListCount - 1, 7) = Hoja.Cells(i, 1).Offset(0, 7)
    Else
 
    End If
 
Next i
End Sub
 
Private Sub UserForm_Initialize()
 
Me.TextBox1.Value = Sheets("GENERAL").Range("B2")
Me.TextBox1.ScrollBars = fmScrollBarsBoth
 
With Me
.ListBox1.ColumnCount = 8
.ListBox1.ColumnWidths = "85 pt;70 pt;75 pt;95 pt;90 pt;90 pt;90 pt;90"
End With
 
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de MIGUEL
Val: 424
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

BUSQUEDA FILTRADA DE UN DATO ESPECIFICO SELECCIONADO DE UN LISTBOX

Publicado por MIGUEL (121 intervenciones) el 22/03/2021 18:34:17
Buenas Abraham

Si pudieras proporcionar un archivo de ejemplo estaria genial.

igual seria la misma macro que usas en el primer filtro solo que con unos pequeños cambios en la siguiente linea

1
If Hoja.Cells(i, 1).Value = Me.TextBox1.Value Then

seria mas o menos asi, suponiendo que los datos se encuentren en la misma hoja y que en el form1 este el dato banda a buscar

'_____columna banda en hoja______________columna banda en listbox del form1________And __si es que se requiere el mes para filtrar
1
If Hoja.Cells(i, 1) = UserForm1.ListBox1.List(UserForm1.ListBox1.ListIndex, 0) And Hoja.Cells(i, 1).Value = UserFor1.TextBox1.Value Then

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 3
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

BUSQUEDA FILTRADA DE UN DATO ESPECIFICO SELECCIONADO DE UN LISTBOX

Publicado por Abraham (3 intervenciones) el 22/03/2021 23:12:15
Hola Miguel


Gracias, adjunto el archivo bajo el cual estoy trabajando.

Los datos se encuentran una hoja diferente a la cual he llamado "BBDD" el primer userform ya obtiene la información filtrada de la hoja BBDD esto de acuerdo al mes que se le indica, lo que no he podido lograr es la extracción a un segundo userform de la información filtrada mediante el procedimiento ListBox1_DblClick (ByVal Cancel As MSForms.ReturnBoolean) de acuerdo a la selección de un dato del listbox. El filtro seria de acuerdo a la columna 2 del listbox que hace referencia a la "Banda" y asi obtener los "eventos" que tuvo dicha banda en dicho mes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de MIGUEL
Val: 424
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

BUSQUEDA FILTRADA DE UN DATO ESPECIFICO SELECCIONADO DE UN LISTBOX

Publicado por MIGUEL (121 intervenciones) el 25/03/2021 19:27:09
Buenas Abraham

Perdón por la tardanza tuve trabajo.

La verdad no logre comprender al 100 lo que quieres hacer, de todos modos te dejo el archivo modificado a como creo que es lo que quieres hacer, espero te sirva aunque sea de referencia para lograr tu objetivo.

se uso el userform4 para filtrar por mes del año, ósea saldrá la suma de todos los siniestros separados por mes y por año, al hacer doble click en ese listbox se abre el userform1 el cual tenia macros pero no filtraba por mes seleccionado. ósea al abrirlo traía todos los meses existentes de la banda seleccionada, ahora solo traerá el mes del año seleccionado de la banda en cuestión.


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

BUSQUEDA FILTRADA DE UN DATO ESPECIFICO SELECCIONADO DE UN LISTBOX

Publicado por Abraham (3 intervenciones) el 11/04/2021 21:15:40
Buena tarde y muchas gracias Miguel.

El código que tiene el archivo me ayudo mucho y lo pude adaptar para que la búsqueda principal la hiciera por mes y posteriormente por banda. De antemano muchas muchas gracias por tu apoyo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar