Usar elemento de un listbox

Tengo el siguiente código

Private Sub listbox4_dblclick()
n = ListBox4.ListIndex
If ListBox4.Selected(n) Then
Sheets("consolidado").Select
Range("a2").Select
Cells.Find(What:=ListBox4.Selected(n), After:=ActiveCell, LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
End If

End Sub

El problema es que me arroja error, lo que yo quiero hacer es que al dar doble click en un elemento del listbox4 esto abra la hoja donde está el elemento seleccionado y me muestre el rango en donde se encuentra.

Por ejemplo si selecciono por elemento este me lleve hasta la celda donde esta dicho elemento x

1 Respuesta

Respuesta
1

Supongo que el dato que vas a buscar está en la columna A.

Entonces podemos acotar el método Find a la columna A, por ejemplo:

Private Sub ListBox4_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    n = ListBox4.ListIndex
    If ListBox4.Selected(n) Then
        Sheets("consolidado").Select
        dato = ListBox4.List(ListBox4.ListIndex)
        Set b = Columns("A").Find(dato, lookat:=xlWhole)
        If Not b Is Nothing Then
            b.Select
        Else
            MsgBox "El dato no existe"
        End If
    End If
End Sub

Lo que hace es seleccionar la hoja "consolidado", busca en la columna A el dato seleccionado. Si lo encuentra, entonces el objeto b se encuentra lleno, podemos seleccionar la celda. Si el objeto b está vacío entonces no encontró el dato.


.

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas