• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Toplama hatası

Katılım
27 Eylül 2018
Mesajlar
1
Excel Vers. ve Dili
Excel 2010
Herkeslere iyi akşamlar,
Arkadaşlar benim şöyle bir sorunum var.

Bazı değişkenler tanımladım. Bu değişkenlere göre toplama yaptırmak istiyorum. Değişkenlerim aşağıdaki şekildedir.
Public topla1, topla2, topla3, topla4, topla5 As Double

Değişkenler sac,profil,su,grit,sarf-diğer sayfaları ile bağlantılıdır.
Bu sayfaların hepsinde veri olduğundan en alta toplam sonucunu doğru bir şekilde getiriyor. Ama sayfalardan bir yada bir kaçı boş olduğunda toplamayı yanlış yapıyor.
Bu hatayı nasıl ortadan kaldırabiliriz.
Dosyada görüleceği üzere Ömer Bey Rapor sayfasında sonuç doğru çalışıyor. SU sayfasındaki verileri silip Ömer Bey Rapor sayfasına tekrar geldiğimizde sonuç hatalı oluyor.
http://www.dosya.tc/server15/gc8qlr/rapor_xxx.rar.html
 
Merhaba, foruma hoşgeldiniz.

Belgenizdeki akışı anlamadım, kodlara şöyle bir baktığımda şunu fark ettim;
birleştir_... şeklindeki kodların son kısımlarında, sayfa adı belirtilmeden Range(..... şeklinde işlemler mevcut.

herbir birleştir_.... şeklindeki kod bloklarının son kısımlarındaki satırlarda bu alanların
hangi sayfaya ait olduğunu belirterek belgenizi yeniden deneyin önce isterseniz.
Böylece, ilgili sayfa aktif değilken de işlemler/hesaplamalar olması gereken sayfalarda yapılabilsin.

Ayrıca, sonA sonB gibi sonsatır tespitinden sonra asıl işlem satırlarından (For...Next döngüleri) önce
birer If.... satırı ekleyip, "son satır >1 ise" gibi işlem yapma şeklinde sınırlama getirmenizde yarar var.
Böylece boş sayfalarla ilgili sorunların çözüleceği kanaatindeyim.
Rich (BB code):
.................................
............................
s1.Cells(sonA + 2, 5) = WorksheetFunction.Sum(Range("E2:E" & sonA))
topla1 = WorksheetFunction.Sum(Range("H2:H" & sonA))
s1.Cells(sonA + 2, 8) = topla1
Range("A" & sonA + 2 & ":M" & sonA + 2).Interior.ColorIndex = 37
Range("A" & sonA + 2 & ":M" & sonA + 2).Font.Bold = True
...........................
 
Son düzenleme:
Geri
Üst