Run-Time error "7" Out of memory hatası

Katılım
26 Kasım 2012
Mesajlar
67
Excel Vers. ve Dili
Office 2016 / Türkçe
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.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,375
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba.

Aldığınız mesaj adı üzerinde dizi boyutlarının dışına çıkıyorsunuz demek.

Kodları adımlayarak hangi değer oluşuyor ki dizi sınırlarının dışına çıkıyorsunuz anlayabilirsiniz.
Ona göre de kodlara düzeltme yapabilirsiniz.
 
Katılım
26 Kasım 2012
Mesajlar
67
Excel Vers. ve Dili
Office 2016 / Türkçe
Merhaba Necdet bey.

Cevap verdiğiniz için teşekkür ederim.

Sorunum şöyle çözüldü. Daha önce de belirttiğim gibi bilgisayarı sıfırladığımı belirtmiştim. Kurcalarken geçici dosya olarak saklanan öceki windovs ve karşıdan yüklemeler teslim iyileştirmeler vardı. Önce bunları sildim. Ardından güncelleme dosyası vardı .net famevork 3,5 ve 4,8 toplu güncellemelerini indirdim yeniden başlatınca kodlar çalışmaya başladı.

İkisini de peşi peşine yapıp öyle çalıştırdım. O yüzden hangisinden dolayı çalışmaya başladı emin değilim. Her ikisini de yazdım umarım birilerine faydası olur.

Hayırlı geceler...
 
Üst