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
Herkese hayırlı günler. Excelde kendi gelir gider hesaplarımı tuttuğum dosyamda daha önceden çalışan kodlar çalışmaz oldu. İki gün evvel bilgisayarı sıfırlamak zorunda kaldım. Windovs 10 yeniden yükledim. Bütün programları yükledim. Ve ardından Hesap programımı açtığımda sadece ReDim Preserve veri_dizisi(1 To 22, 1 To saTIR) olan kısımda "kod 7 out of memory" hatası veriyor. Acaba eksik bir yükleme falan mı yaptım. Durup dururken kod hata vermemesi lazım.
