Kod:
Sub analistbox2()
Calculate
saTIR = 0
On Error Resume Next
ANAFRM.ListBox2.RowSource = ""
ANAFRM.ListBox2.Clear
On Error GoTo 0
ReDim veri_dizisi(1 To 22, 1 To 1000000) ' bu kod kendimize 22 sutun 65536 satır bir tablo yaratır sanki bos bir excel sayfası gibi.
With Worksheets("hesaplar")
For i = 1 To Sheets("hesaplar").Range("A1000000").End(3).Row
If Sheets("hesaplar").Cells(i, "f").Value <> 0 Then
saTIR = saTIR + 1
For sutun = 1 To 21
veri_dizisi(sutun, saTIR) = .Cells(i, sutun).Text
Next sutun
End If
Next i 'burda artık satış sayfasının 2 satırına git kriterlere uyuyorsa Veri_dizini tablosuna yaz için kodları geri gonderiyoruz taki satış sayfasındaki satırlar bitene kadar.
End With
If saTIR > 0 Then
ReDim Preserve veri_dizisi(1 To 22, 1 To saTIR) 'burada tablomuza sadece istediğimiz bilgileri ekledik bos kalan satırları kaldırıp tabloyu sabitliyoruz.
Else
' MsgBox "Listelenecek Veri bulunamadı"
Exit Sub
End If
ANAFRM.ListBox2.Column = veri_dizisi 'listbox içinde bizim tabloyu gostermesi için bu kodu ekledik.
With ANAFRM.ListBox2
.ColumnHeads = False
.ColumnCount = 6
.ColumnWidths = "0;190;0;0;0;75"
End With
'MsgBox "İşlem tamamlanmıştır!...", vbInformation
ANAFRM.ListBox2.Column = veri_dizisi
End Sub