Skip to main content

AccessTr.neT


Tablolarda Alt Toplam Aldırma Vba İle

ercansahiner61
ercansahiner61
36
1307

Tablolarda Alt Toplam Aldırma Vba İle

Çözüldü #1
TABLO OLARAK HAZIRLANMIŞTIR.
"Tablodaki veriler eksilip artabilmektedir. Bu nedenle; örnek verecek olursak;
veriler
2 sırada bittiğinde Alacak tutarının ve paylaşım tutarının ALT T OPLAMI,
7 sırada bittiğinde Alacak tutarının ve paylaşım tutarının ALT T OPLAMI, GİBİ
VERİLER EKSİLİP ÇOĞALABİLİR.
alt toplamı alıyor ancak ""D6"" hücresindeki alacaklar toplamına ALTTOPLAM da dahil edildiğinde  hesaplama yanlış oluyor
Garame Tablo 2 de alt toplamı elle yaptırdım yeni bir veri gibi görmeden alta alıyor. ancak paylaşım tablosunda Vba kodu ile yapmaya çalıştım sadece son veri altına toplamıı alıyor bunuda "D2" hücresindeki toplama eklediğinde yanlış oluyor. 2 katına çıkıyor.
Birde alacaklar toplamını tablo altındaki altoplam dahil edilmeden nasıl aldırabiliriz. değişken olduğu için Vba oluşturamıyorum.


"
.rar Paylaştırma.rar (Dosya Boyutu: 41,04 KB | İndirme Sayısı: 14)
Cevapla
#2
Konunuzu örnek uygulamalar altında da aynen açmışsınız. Oradakini sildim buradan devam edin, konu açarken daha dikkatli olalım lütfen.
Cevapla
#3
Değerli arkadailar konı ile ilgilecek biri yokmu
Cevapla
#4
Tablonuzun B kolonuna sıra no verdiğinizi düşünerek toplamı B kolonundaki hücre dolu ise topla şeklinde yapılabilir.
örnek olarak kudunuzda toplam = CDbl(WorksheetFunction.SumIf([b9:b100], ">0", [alan])) şeklinde bir düzenleme yapabilirsiniz.
Cevapla
#5
D6ya aşağıdaki kodu yazıp dener misiniz?
Visual Basic Code
=SUM(Tablo81731[Alacak Tutarı])
Cevapla
#6
Merhaba.
İlgili kodu alttaki ile değiştiriniz.Sadece kodunuzdaki
Kod
satır = sh.Range("B" & Rows.Count).End(3).Row
yeri değiştirdim.

Visual Basic Code
Sub alttoplamlar()
Dim sh As Worksheet, satýr As Long, sutun As Long, _
    toplam As Double, alan As Range, toplamsatýrý As Long

Set sh = Sheets("Paylaþým")

satýr = sh.ListObjects("Tablo81731").Range.Columns(1).Cells.Find("*", SearchOrder:=xlByRows, LookIn:=xlValues, SearchDirection:=xlPrevious).Row
toplamsatýrý = satýr + 1
sutun = 6
For d = 4 To 5 '(d, e sütunlarý)
    Set alan = sh.Range(sh.Cells(9, d), sh.Cells(satýr, d))
    toplam = CDbl(WorksheetFunction.Sum(alan))
    sh.Cells(toplamsatýrý, d).Value = toplam
Next d
MsgBox "Ýþlem tamamlandý", vbInformation, "antonio"
End Sub
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da