Listbox que elija fila filtrada

Tengo esta consulta que quisiera que me ayude con este código:

Private Sub ListBox1_Click()
fila = Me.ListBox1.ListIndex + 6
For i = 1 To 33
Cells(fila, 1).Activate
Next i
End Sub

Lo que hace esto es seleccionar toda la fila de un listbox que carga todos los datos de una hoja, el detalle es que al filtrar el listbox cuando me muestra el resultado esta función (Private Sub ListBox1_Click()), elige no la fila filtrada, si no otra fila, es decir si tengo datos de la fila 1 al 100, filtro y me muestra las coincidencias y supuestamente al elegir la fila digamos 99 que es la que estoy viendo la función elige la fila 2 o 3 o 4 menos la 99, no se si se podrá entender mi consulta.

1 Respuesta

Respuesta
1

Feliz navidad

Usa estos solo que los datos de la columna que elijas para buscar debem ser registro único

Esta macro lo que hace es buscar el dato de la primera columna del listbox y

Lo selecciona

Private Sub ListBox1_Click()
Set busco = ActiveSheet.Range("a:a").Find(me.ListBox1, LookIn:=xlValues, LookAt:=xlWhole)
If Not busco Is Nothing Then
busco.Select
End If

end sub

No olivides valorar si te silve para cerrar la pregunta 

Hoa, gracias por tu tiempo, pero no entiendo muy bien la función de la macro, podrías explicármela gracias...

Disculpa el estaba completo seria así

Private Sub ListBox1_Click()
 For i = 0 To ListBox1.ListCount - 1
       If ListBox1.Selected(i) = True Then
     Set busco = ActiveSheet.Range("a:a").Find(Me.ListBox1, LookIn:=xlValues, LookAt:=xlWhole)
If Not busco Is Nothing Then
busco.Select
End If
       End If
 Next

End Sub

Y funciona de la siguiente manera buscar el item seleccionado de la primera columna del listbox

En tu hoja de excel y lo selecciona en la hoja

Saludos no olivdes valora para cerrra la pregunata 

¡Gracias! Funciona excelente, muchas gracias...feliz año nuevo!

Funciona a la perfección, quisiera hacer otra adicional a esta es la siguiente:

Que cuando estoy ubicado en una hoja que no es la que contiene los datos no elige nada, lo que pasa es que cuando yo elijo una fila tengo un botón adicional que me abre otro formulario y carga los datos en varios textbox, pero al elegir la fila no carga ningún dato ya que está eligiendo la fila de la hoja donde estoy ubicado, intenté modificar esta línea pero me muestra error:

Set busco = sheets(HojaBD).Range("a:a").Find(Me.ListBox1, LookIn:=xlValues, LookAt:=xlWhole)

feli\z ano nuevo

seria asi para que funciones en la hoja activa

Set busco = ActiveSheet.Range("d:d").Find(UserForm1.ListBox1, LookIn:=xlValues, LookAt:=xlWhole)

Hola, gracias por los datos amigo, quisiera un poco más de ayuda, es que recién me inicio en el tema de la programación, el detalle es por lo que entiendo, el ActiveSheet, hace referencia a la hoja activa, quisiera que haga referencia a una hoja especifica ya que el formulario lo ejecuto desde otra hoja, es por eso que menciono que cuando abro el formulario me carga los datos en el listbox pero al elegir la fila que quiero cargar en los textbox no muestra nada porque esta eligiendo la fila de la hoja activa que esta vacía, te dejo mi ejemplo para que entiendas mi inconveniente... gracias.

https://mega.nz/#!Rs1h2aZB!HJ7gIHHXZWvzdgd7UNk12uNPs-3J6hVbVVD1X9l86Bs

Perdona la tardanza

Con esto soluciona tu inconveniente por ahora

Private Sub UserForm_Initialize()
Hoja2.Select
    For i = 1 To 4
        Me.Controls("TextBox" & i).Value = ActiveCell.Offset(0, i - 1).Value
    Next i
    Hoja1.Select
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas