Cargar un listbox con Datos que cumplen con una Condición Excel Vba

B tardes,

Quisiera cargar en una listbox datos que cumplan con una condición en especifico:

El tema es que quiero que solo se reflejen las tareas de una operación por su estado PENDIENTE, El otro estado COMPLETADO no quiero que aparezca en esta lista.

En A2: Esta el nombre de la tarea B2: Estado de la Tarea "PENDIENTE".

Cuand inicie e formulario que el listbox cargue solo los datos de A si su estado es PENDIENTE.

2 Respuestas

Respuesta
2

En el evento Initialize del userform agrega estas línea aquí están los dos

Private Sub UserForm_Initialize()

With ComboBox1
    .AddItem "pendiente"
    .AddItem "completo"
End With
End Sub

en el evento change del combobox

Private Sub ComboBox1_Change()
ListBox1.Clear
valor = ComboBox1.Value
Set busca = Sheets("nombre de tu hoja).Range("b1:b54").Find(valor, LookIn:=xlValues, lookat:=xlPart)
If Not busca Is Nothing Then
ubica = busca.Address
Do
ubica2 = "$A$" & busca.Row
ListBox1.AddItem Range(ubica2)
i = ListBox1.ListCount - 1
ListBox1.List(i, 1) = Range(ubica2).Offset(0, 1)
ListBox1.List(i, 2) = Range(ubica2).Offset(0, 2)
Set busca = Sheets("nombre de tu hoja").Range("b1:b54").FindNext(busca)
Loop While Not busca Is Nothing And busca.Address <> ubica
End If
End Sub

Recuerda poner donde dice nombre tu hoja es el nombre que tiene tu hoja

Saludos si te silve recuerda valorar

 Gracias pero lo que necesito es que traiga los valores al listbox de la columna A cuyos valores de B sean igual a PENDIENTE  y que sean cíclico hasta que encuentre el ultimo valor.

Me sirvió de maravilla gracias, considere el uso de combo box y quedo super. Gracias amigo.

B noches quiero hacer lo mismo pero buscando los datos que tengan cierta fecha, estas instrucciones no me sirven cuando es fecha. quisiera que al colocar la fecha en un textbox y al oprimir el command button el listbox reflejara los datos con esta fecha. Gracias de antemano por su ayuda.

Field:=10 el numero diez es donde pondar el numero de tu columna donde están las fechas

Las fechas en tu archivo tienes que ponerle formato de fecha

Yo utilizo este formato 14-mar.-16

Range("a9") este es donde estará aplicando el filtro

Range("a10:a es donde empieza a copiar los datos y lo pasa al listbox

Private Sub CommandButton2_Click()
Application.ScreenUpdating = False
ListBox1.Clear
fecha1 = CDate(TextBox1)
fecha1 = Format(fecha1, "mm/dd/yyyy")
Range("a9").AutoFilter Field:=10, Criteria1:=">=" & fecha1, Operator:=xlAnd, Criteria2:="<=" & fecha1
For Each celda In Range("a10:a" & Range("a1000000").End(xlUp).Row).SpecialCells(xlCellTypeVisible)
ListBox1.AddItem celda
i = ListBox1.ListCount - 1
ListBox1.List(i, 1) = celda.Offset(0, 1)
ListBox1.List(i, 2) = celda.Offset(0, 2)
ListBox1.List(i, 3) = celda.Offset(0, 3)
Next

'este vuelve la base de dato a su estado original
ActiveSheet.ListObjects("Table3").Range.AutoFilter Field:=10
    Range("A10").Select
Application.ScreenUpdating = true
End Sub

Como siempre recuerda valoprar si no pudiste mándame el archiovo este mis correo

[email protected]

Respuesta
1

Estos ejemplos

http://www.programarexcel.com/2013/05/llenar-listbox-de-varias-columnas-con.html 

http://www.programarexcel.com/2015/09/pasar-datos-de-listbox-con-doble-click.html 

http://www.programarexcel.com/2013/06/listbox-de-excel-de-varias-columnas.html 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas