Sub lista()
Sheets("pomocni").Select
Range("a2:n" & Range("a65000").End(xlUp).row + 1).ClearContents
Application.CutCopyMode = False
Sheets("baza podataka").Select
ListBox1.Clear
Selection.AutoFilter Field:=1, Criteria1:=Format(dat(1), "d-mmm")
Selection.AutoFilter Field:=2, Criteria1:=obj(1)
Selection.AutoFilter Field:=3, Criteria1:=kont(1)
Selection.AutoFilter Field:=4, Criteria1:=dob(1)
If Range("a65000").End(xlUp).row > 1 Then
p = Range("a65000").End(xlUp).row
Range("a2:n" & p).Copy
Sheets("pomocni").Select
Range("A2").Select
ActiveSheet.Paste
tabela = Range("a2:n" & Range("a65000").End(xlUp).row)
For p = 1 To UBound(tabela)
With ListBox1
.AddItem tabela(p, 1)
.List(ListBox1.ListCount - 1, 0) = tabela(p, 1)
.List(ListBox1.ListCount - 1, 1) = tabela(p, 2)
.List(ListBox1.ListCount - 1, 2) = tabela(p, 3)
.List(ListBox1.ListCount - 1, 3) = tabela(p, 4)
.List(ListBox1.ListCount - 1, 4) = tabela(p, 6)
.List(ListBox1.ListCount - 1, 5) = tabela(p, 7)
.List(ListBox1.ListCount - 1, 6) = tabela(p, 8)
.List(ListBox1.ListCount - 1, 7) = tabela(p, 9)
.List(ListBox1.ListCount - 1, 8) = tabela(p, 10)
.List(ListBox1.ListCount - 1, 9) = tabela(p, 5)
.TopIndex = .ListCount - 1
End With
Next p
Sheets("baza podataka").Select
If ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
End If
Range("a1").End(xlDown).Offset(1, 0).Select
End Sub
Kao sto vidite da bi napunio listbox, prvo filterujem bazu podataka tako da ostanu podaci kojima zelim da je napunim, pa ih kopiram u pomocni sheet pa promenjlivoj tabela (variant) dodeljujem range iz pomocnog sheeta pa onda punim sa njim listbox... Mislim da sigurno postoji elegantnije resenje da popunim listbox podacima iz baze po zadatim kriterijumima (dat,kont,obj,dob).
Hvala puno na pomoci i pozdrav!!!