• DİKKAT

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

Sütundaki boş hücrelere toplam aldırmak.

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,668
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar arkadaşlar,

Ekteki dosyamda A sütununda bazı veriler var ve bu verilerin aralarındada boş hücreler var. Ben bu boş hücrelere toplam aldırmak istiyorum. Liste ve veriler değişken olduğu için (yani listeyi her gün güncelliyorum) toplam aldırıken sıkıntı yaşıyorum. Ve bu işlemi makro ile yapmak istiyorum.
 
Aşağıdaki kodu deneyin.

[vb:1:148163f104]Sub topla()
For a = 5 To [a65536].End(3).Row + 1
c = Cells(a, "b") + c
If Cells(a, "b") = 0 Then
Cells(a, "b") = c
c = 0
End If
Next
End Sub
[/vb:1:148163f104]
 
Bunu bir butona atayıp, buton iki kez tıklayınca hesap edilenin üstüne ilave etmez mi? :düsün:
 
Bunu bir butona atayıp, buton iki kez tıklayınca hesap edilenin üstüne ilave etmez mi?
Haklısınız eder; şimdi yukarıdaki kodda küçük bir düzeltme yaptım.
 
Ellerinize sağlık faydalanacağımız bir çalışma oldu. :bravo:
 
Çok teşekkür ederim. :hey:
 
Selam Kodu birden fazla sütüna uygulamak için nasıl değişiklikler yapmak gerekir. Tşk.
 
Sayın COST_CONTROL,

Sayın leventm sorunuzu cevaplamış. Kendisinin izni ile, ayrıca alternatif olması açısından ve hız olarak da bayağı hızlı çalışan örnek dosya ektedir.

Kolay gelsin.
 
Teşekkürler Dost ama aynı işlemi sadece B sütununda değilde C, D, ve E vb. sütunlarda da yapmak istersek ne yapmamız gerekiyor. Þimdiden teşekkürler.
 
Sizede ilginizden dolayı teşekkür ederim Sn. dost :arkadas:
 
Sayın Yüce,

Yalnızca bir sütunda yapmak isterseniz, örneğin "D" sütununda yapmak isterseniz;

Kod:
For Each alan In Columns("D").SpecialCells(xlConstants, xlNumbers).Areas

satırını yukarıdaki şekilde değiştiriniz.

Birden fazla sütunda aynı anda yapmak isterseniz, ardışık sütunlar olmayabilir diye alttoplam aldırmak istediğiniz sütunları sutunlar dizine girerseniz istediğiniz olur.


Kod:
Sub AltToplamAl()

    toplam = 0
    sutunlar = Array("B", "C", "D")
    
    For i = 0 To UBound(sutunlar)
        For Each alan In Columns(sutunlar(i)).SpecialCells(xlConstants, xlNumbers).Areas
        
            SumAdres = alan.Address(False, False)
            toplam = WorksheetFunction.Sum(Range(SumAdres))
            alan.Offset(alan.Count, 0).Resize(1, 1) = toplam
            toplam = 0
        
        Next alan
    Next i
    
End Sub
 
Çok teşekkürler Dost tam istediğim gibi bende daha önceki kodu alta bir daha kopyalayıp sütun harfini değiştirmek gibi ipridai bir yol bulmuştum şimdi daha kolay olacak sayende. Tekrar teşekkürler.
 
Geri
Üst