Alandaki dolu hücreleri dikkate alır. Bir üstündeki boş hücreye dolu hücrelerin toplamını alır.
Kodu ilk çalıştırdığınızda tüm boş hücreler dolduğu için kodu ikinci kez çalıştırdığınızda işlem yapmayacaktır. İşlem yapabilmesi için hücreleri boşaltmanız gerekecektir.
For Each Veri In Range("K19:K" & Cells(Rows.Count, "K").End(3).Row).SpecialCells(xlCellTypeConstants, 23).Areas
If Veri.Cells(1, 1).Offset(-1).Row > 19 Then
Veri.Cells(1, 1).Offset(-1) = WorksheetFunction.Sum(Veri)
End If
Next
MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
Paylaştığınız dosyada boş görünen her hücrede bir sürü boşluk karakteri var. Bu nedenle makro mantığı kurulamıyor. Sizin boş olduğunuz düşündüğünüz ve sarıya boyadığınız hücrelerde de aslında boşluk karakterleri var. Hücre tamamen boş olmayınca makro hangi hücreye toplam alacağını ve hangi hücreye kadar toplayacağını belirlemiyor.
Verdiğim kodlar örnek dosyanızda doğru sonuç vermektedir. Çünkü hücrenin sayı olup olmamasına göre işlem yapmaktadır. K sütununda sayı olmayan hücrelere altındaki sayı olan hücrelerin toplamını yazmaktadır.
Bu işlem önceki sorunuzda da göreceğiniz gibi dosyaya göre farklı yöntemler gerektirebilir. Bu nedenle buna uygun ve asıl dosyanızla aynı yapıda örnek dosya paylaşmanız iyi olur.
Sizlere daha iyi bir deneyim sunabilmek icin sitemizde çerez konumlandırmaktayız, web sitemizi kullanmaya devam ettiğinizde çerezler ile toplanan kişisel verileriniz Veri Politikamız / Bilgilendirmelerimizde belirtilen amaçlar ve yöntemlerle mevzuatına uygun olarak kullanılacaktır.