2 boyutlu Dizide Application.Sum() fonksiyonu hk.

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,040
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba,
Application.Sum() fonksiyonu ile dizi içindeki değerleri toplam alabiliyoruz.

aşağıdaki döngüde;
i :satır
j :sütun
olsun, sadece bulunduğu sütunun toplamını almak için nasıl bir düzenleme yapmak gerekecektir?
aşağıdaki kodda önceden gelen sütunları da toplayarak geliyor.
teşekkürler,
iyi çalışmalar.

Kod:
Sub Makro3()

Dim c(8, 6) As Double

For j = 1 To 6
For i = 1 To 8
    c(i, j) = i * j

Next i

    cToplam = Application.Sum(c)
    Debug.Print cToplam

Next j

End Sub
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,642
Excel Vers. ve Dili
Pro Plus 2021
Application.Sum tek boyutlu dizilerde çalışır.
Kod:
Sub Makro3()

    Dim c(8, 6) As Double, cToplam(1 To 6) As Double, j, i

    For j = 1 To 6
        cToplam(j) = 0
        For i = 1 To 8
            c(i, j) = i * j
            cToplam(j) = cToplam(j) + i * j
        Next i
        Debug.Print j & " . Toplam=>" & cToplam(j)
    Next j

End Sub


Sub Makro4()

    Dim c(1 To 8, 1 To 6) As Double, j, i, cToplam

    For j = 1 To 6
        For i = 1 To 8
            c(i, j) = i * j
        Next i
        cToplam = Application.Sum(Application.Index(c, 0, j))
        Debug.Print j & " . Toplam=>" & cToplam
    Next j

End Sub
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,040
Excel Vers. ve Dili
Office 2013 İngilizce
Application.Sum tek boyutlu dizilerde çalışır.
Kod:
Sub Makro4()

    Dim c(1 To 8, 1 To 6) As Double, j, i, cToplam

    For j = 1 To 6
        For i = 1 To 8
            c(i, j) = i * j
        Next i
        cToplam = Application.Sum(Application.Index(c, 0, j))
        Debug.Print j & " . Toplam=>" & cToplam
    Next j

End Sub
Veysel Hocam teşekkürler,
bir şey daha sorabilir miyim.
cToplam = Application.Sum(Application.Index(c, 0, j))
Burada i değişkenine göre yani satıra göre toplam almak için nasıl düzenleme yapmalıyız?

iyi akşamlar.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,642
Excel Vers. ve Dili
Pro Plus 2021
Böyle bir deneyin.
Kod:
Sub Makro4()

    Dim c(1 To 8, 1 To 6) As Double, j, i, cToplam, ver

    For j = 1 To 6
        For i = 1 To 8
            c(i, j) = i * j
        Next i
    Next j

    For i = 1 To 8
        ver = Application.Index(c, i)
        cToplam = Application.Sum(Application.Index(c, i))
        Debug.Print j & " . Toplam=>" & cToplam
    Next i

End Sub
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,040
Excel Vers. ve Dili
Office 2013 İngilizce
Böyle bir deneyin.
Kod:
Sub Makro4()

    Dim c(1 To 8, 1 To 6) As Double, j, i, cToplam, ver

    For j = 1 To 6
        For i = 1 To 8
            c(i, j) = i * j
        Next i
    Next j

    For i = 1 To 8
        ver = Application.Index(c, i)
        cToplam = Application.Sum(Application.Index(c, i))
        Debug.Print j & " . Toplam=>" & cToplam
    Next i

End Sub
Çok teşekkürler Veysel Hocam, iyiki varsınız!
 
Üst