• DİKKAT

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

VBA ile koşullu toplam

Katılım
25 Aralık 2006
Mesajlar
109
Excel Vers. ve Dili
Excel 2007 Türkçe
Merhaba arkadaşlar;
e sütununa
=topla.çarpım((d18="b")*(d18))
=topla.çarpım((d19="b")*(d19))+e18
=topla.çarpım((d20="b")*(d20))+e19
.
.
.
formüllerini VBA şeklinde nasıl yazarız.

Sevgi ve Saygıyla
 
Sayın Yurttaş
Cevabınız için teşekkür ederim.Hamitcan'ın hazırlamış olduğu güzel çalışmayı inceledim.Fakat benim isteğime uyan bir cevap ben bulamadım.

Benim isteğim,e sütununda değerler toplanarak alta doğru gidecek

ben birşeyler yapmaya çalıştım, fakat veriler çok olunca hesaplama yavaş oluyor.

With Sayfa1
For i = 26 To 550

Select Case Cells(i, 3).Value

Case "B"
B = B + Cells(i, 4).Value
Cells(i, 5).Value = B
Cells(i, 6).Value = ClearContents
Sevgi ve Saygıyla
 
=topla.çarpım((d18="b")*(d18))
=topla.çarpım((d19="b")*(d19))+e18
=topla.çarpım((d20="b")*(d20))+e19

d18="b" c18="b"
d19="b" c19="b"
d20="b" c20="b"

yanlışlıkla yazmış olduğum kotları düzelttim.
 
Sorunuzu, örnek bir dosya ile destekleyin.
 
Sayın Hamitcan;
İlginiz için teşekkürler.

e18 hücresine; c18="B" ise d18
e19 hücresine c19="B" ise d20 hücresindeki değer ve e18 deki değerin toplamı

yani; e18=10 e19=30

Sevgi ve Saygıyla
 

Ekli dosyalar

Bakiye hesabı mı yapmak istiyorsunuz ?
 
"B" borç anlamında mı yani alacak anlamında "A" olacak mı ?
 
E sütunu banka
F sütunu cep

Yani ve "B" ve "C" olacak.

e18 hücresine;topla.çarpım((c18="B")*(d18))
f18hücresine;topla.çarpım((c18="C")*(d18))
e19 hücresine;topla.çarpım((c19="B")*(d19))+e18
f19 hücresine;topla.çarpım((c19="C")*(d19))+f18

şeklinde.
 
Böyle deneyin.
Kod:
Sub Bakiye()
If [c18] = "B" Then
    [e18] = [d18]
ElseIf [c18] = "C" Then
    [f18] = [d18]
End If
son = [a65536].End(3).Row
For i = 19 To [a65536].End(3).Row
    BTop = WorksheetFunction.SumIf(Range("c18:c" & son), "B", Range("d18:d" & son))
    CTop = WorksheetFunction.SumIf(Range("c18:c" & son), "C", Range("d18:d" & son))
    Cells(i, "e") = BTop
    Cells(i, "f") = CTop
Next
End Sub
 
Sayın Hamitcan;
Cevabınız için teşekkür ederim.Ama benim isteğim bu değil.Yeni bir dosya yolluyorum.Belki ne isteğimi anlatabilmişimdir.

Sevgi ve saygıyla
 

Ekli dosyalar

Böyle deneyin.
Kod:
Sub Bakiye()
If [c18] = "B" Then
    [e18] = [d18]
ElseIf [c18] = "C" Then
    [f18] = [d18]
End If
son = [a65536].End(3).Row
For i = 19 To son 
    BTop = WorksheetFunction.SumIf(Range("c18:c" & i), "B", Range("d18:d" & i))
    CTop = WorksheetFunction.SumIf(Range("c18:c" & i), "C", Range("d18:d" & i))
    Cells(i, "e") = BTop
    Cells(i, "f") = CTop
Next
End Sub
 
Sayın Hamitcan

Çok teşekkür ederim kodlar harika
 
Geri
Üst