[]
VBA Excel - runtime error 1004
Merhaba,
1) 30-40 klasör, her birinin içinde farklı sayıda excel dosyam var. Toplam 2500 civarında excel.
2) Amaç: Excel workbook açmadan değer okutmak.
3) Yalnız değerleri belirli bir şartı sağlaması şartıyla okuttuğum için bu okuma işini bir döngü içinde yapıyorum. Yerine göre 10. satırda da bulabiliyorum istediğim değeri, 1000. satırda da.
4) Problem şu: tamamen şartın sağlandığı satırların toplamına göre (sanıyorum) değişen okuyuşlarda (ki genellikle 300 - 400. excel dosyasında filan oluyor) hata veriyor. Programı yeniden çalıştırdığımda da hata veriyor, ancak kapatıp yeniden açmam gerekiyor. Tabii yine 400 lü satırlarda hata veriyor. Bu da bana bir yerlerde hafızada bir değerin kalıyor olduğunu düşündürüyor.
Analiz:
'==============================
KOD PARÇASI:
For i = 10 To 5000 Step 10
sayac = sayac + 1
Destination.Formula = "=" _
& "'" & xlsPath & "[" & xlsfilename & "]" & sourceSheetName & "'!" & Source.Address
'BURADA ŞART KONTOLU VAR
Next i
'=============================
Sayaçları incelediğimde genellikle 30,000 (artı eksi 1000 filan, kesin bir değer yok) değerinde problem çıkıyor gibi görünüyor, ama görüldüğü gibi i değişkeni her seferinde 10-5000 arasında çalışıyor ve hatta işime yarayan satırı bulunca döngüden çıkıyor. bir şekilde bir sayı hafızada kalıp, sınıra gelince hata oluşuyor gibi geliyor bana.
Döngü yapmadığım zaman sorun yok.
Destination yerine cells(x,y) ler var, karışıklık olmasın diye böyle yazıyorum.
Bir fikri olan var mı?
1) 30-40 klasör, her birinin içinde farklı sayıda excel dosyam var. Toplam 2500 civarında excel.
2) Amaç: Excel workbook açmadan değer okutmak.
3) Yalnız değerleri belirli bir şartı sağlaması şartıyla okuttuğum için bu okuma işini bir döngü içinde yapıyorum. Yerine göre 10. satırda da bulabiliyorum istediğim değeri, 1000. satırda da.
4) Problem şu: tamamen şartın sağlandığı satırların toplamına göre (sanıyorum) değişen okuyuşlarda (ki genellikle 300 - 400. excel dosyasında filan oluyor) hata veriyor. Programı yeniden çalıştırdığımda da hata veriyor, ancak kapatıp yeniden açmam gerekiyor. Tabii yine 400 lü satırlarda hata veriyor. Bu da bana bir yerlerde hafızada bir değerin kalıyor olduğunu düşündürüyor.
Analiz:
'==============================
KOD PARÇASI:
For i = 10 To 5000 Step 10
sayac = sayac + 1
Destination.Formula = "=" _
& "'" & xlsPath & "[" & xlsfilename & "]" & sourceSheetName & "'!" & Source.Address
'BURADA ŞART KONTOLU VAR
Next i
'=============================
Sayaçları incelediğimde genellikle 30,000 (artı eksi 1000 filan, kesin bir değer yok) değerinde problem çıkıyor gibi görünüyor, ama görüldüğü gibi i değişkeni her seferinde 10-5000 arasında çalışıyor ve hatta işime yarayan satırı bulunca döngüden çıkıyor. bir şekilde bir sayı hafızada kalıp, sınıra gelince hata oluşuyor gibi geliyor bana.
Döngü yapmadığım zaman sorun yok.
Destination yerine cells(x,y) ler var, karışıklık olmasın diye böyle yazıyorum.
Bir fikri olan var mı?
Hata çıktığı anda debug diyerek hangi satırda, ne sebeple çıktığını kontrol et öncelikle. Ona göre yorum yapmak daha kolay olur.
i değeriyle neyi arattığına bağlı bir de, şart kontrolü kodu kısmında neyi ifade ediyor i, dosyanın adını mı, satır numarasını mı.
i değeriyle neyi arattığına bağlı bir de, şart kontrolü kodu kısmında neyi ifade ediyor i, dosyanın adını mı, satır numarasını mı.
- cakabo (25.12.12 00:35:53)
1