Cómo desmarcar un item de un listbox

Tengo un listbox3 que carga items según un filtro, no es multiselección, si marco uno de ellos, me carga los textbox con los valores de la hoja. Lo que quiero es un botón que me limpie los items pero que no sea por medio de clear, si no más bien por medio de algún comando que los deseleccione. Gracias

He intentado con algo como esto pero nada:

Sheets("Movimientos"). Activate

Dim F As Long
For F = 0 To ListBox3.ListCount
ListBox3.Selected(F) = False
Next F

1 respuesta

Respuesta
1

No entendí muy bien, suponiendo que tienes 3 registros en el listbox.

Marcas el registro 2.

Qué quieres hacer: A) desmarcar el registro 2 y que sigan a pareciendo en el listbox 3 registros

O B) que se borren los 3 registros del listbox.

Qué necesitas la opción A) o la opción B)

Y otra cosa, ¿cómo estás cargando el listbox?

A) desmarcar el registro 2 y que sigan a pareciendo en el listbox 3 registros

y lo cargo así:

Set h2 = Sheets("Movimientos")
ListBox3.ColumnWidths = "35 pt;100 pt;55 pt;170 pt;55 pt;60 pt"
If Me.TextBox7.Value = "" Then
MsgBox "El campo PJ no puede estar vacío", vbCritical, "Activos"
Exit Sub
End If
'
Me.ListBox3.Clear
For i = 2 To h2.Range("A2").CurrentRegion.Rows.Count
If CLng(h2.Cells(i, 1).Value) = CLng(Me.TextBox7.Value) Then
Me.ListBox3.AddItem Cells(i, 1)
Me.ListBox3.List(Me.ListBox3.ListCount - 1, 1) = h2.Cells(i, 2)
Me.ListBox3.List(Me.ListBox3.ListCount - 1, 2) = h2.Cells(i, 3)
Me.ListBox3.List(Me.ListBox3.ListCount - 1, 3) = h2.Cells(i, 4)
Me.ListBox3.List(Me.ListBox3.ListCount - 1, 4) = h2.Cells(i, 5)
Me.ListBox3.List(Me.ListBox3.ListCount - 1, 5) = h2.Cells(i, 6)
Me.ListBox3.List(Me.ListBox3.ListCount - 1, 6) = h2.Cells(i, 7)
Me.ListBox3.List(Me.ListBox3.ListCount - 1, 7) = i 'se agrega la fila al listbox
End If
Next i

Ya probé esto que pusiste y sí me funciona, agregué el - 1

Private Sub CommandButton1_Click()
    For F = 0 To ListBox3.ListCount - 1
        ListBox3.Selected(F) = False
    Next F
End Sub

O lo estás ejecutando desde otro formulario?  En ese caso tienes que hacer referencia al userform:

Private Sub CommandButton1_Click()
    For F = 0 To ListBox3.ListCount - 1
        UserForm5.ListBox3.Selected(F) = False
    Next F
End Sub

Cambia userform5 por el nombre de tu userform

Prueba y me comentas

Si se resolvió, r ecuerda valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas