• DİKKAT

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

SumProduct

Katılım
24 Kasım 2007
Mesajlar
769
Excel Vers. ve Dili
Office 365 - Türkçe
Merhaba

Formülü hücreden aşağıya doğru çekince bu şekilde ilerliyor
=TOPLA.ÇARPIM((F2:$F$10)*(G2:$G$10))
=TOPLA.ÇARPIM((F3:$F$10)*(G3:$G$10))
=TOPLA.ÇARPIM((F4:$F$10)*(G4:$G$10))
...
...
...

Ben yukarıda işlemi makro ile yapmak istedim ve şöyle bir kod kullandım. Fakat Ad hatası alıyorum. Hata nerede

((Cells(i, 6):Cells(10, 6)) Mantıken (F2:F10) - (F3:F10) - (F4-F10) olmuyormu

Kod:
Sub MGII()
Dim i As Integer
For i = 2 To 10
Cells(i, 8).Value = Evaluate("=SumProduct((Cells(i, 6):Cells(10, 6))*(Cells(i, 7):Cells(10, 7)))")
Next i
End Sub
 
. . .

Kod:
Sub kod()
[COLOR="DarkGreen"]'=TOPLA.ÇARPIM((F2:$F$10)*(G2:$G$10))[/COLOR]
    Dim i As Byte
    For i = 2 To 10
        Cells(i, 8).Value = Evaluate("SumProduct((" & Cells(i, "F").Address & ":F10),(" & Cells(i, "G").Address & ":G10))")
    Next i
End Sub

. . .
 
Hüseyin bey teşekkür ederim, mantığını öğrenmek için soruyorum

" & Cells(i, "F").Address & " kodu sanıyorum F2,F3,F4...vb veriyor
Cells(i, 6)'de mantıken F2,F3,F4...vb veriyor değil mi ?
Neden addressli formülü kullanıyoruz

Birde sumproduct ile ilgili makale, video...vb döküman mevcut mu sitede, örnek problemlerden başka, mantığını kavramak istiyorum
 
Merhaba

Formülü hücreden aşağıya doğru çekince bu şekilde ilerliyor
=TOPLA.ÇARPIM((F2:$F$10)*(G2:$G$10))
=TOPLA.ÇARPIM((F3:$F$10)*(G3:$G$10))
=TOPLA.ÇARPIM((F4:$F$10)*(G4:$G$10))
...
...
...

Ben yukarıda işlemi makro ile yapmak istedim ve şöyle bir kod kullandım. Fakat Ad hatası alıyorum. Hata nerede

((Cells(i, 6):Cells(10, 6)) Mantıken (F2:F10) - (F3:F10) - (F4-F10) olmuyormu

Kod:
Sub MGII()
Dim i As Integer
For i = 2 To 10
Cells(i, 8).Value = Evaluate("=SumProduct((Cells(i, 6):Cells(10, 6))*(Cells(i, 7):Cells(10, 7)))")
Next i
End Sub


.


R1C1 stilini kullandığınızda formülü basit bir döngü ile makroda kullanmanız daha kolay olur.

Formülü, hangi hücreden başlayarak uygulayacaksak buna formülün R1C1 stilini yazmamız gerekecek.

Bunu yazmak zor geliyorsa formülü ilgili hücreye A1 stilinde yazıp, sonra R1C1 stiline dönüştürürsek, makroda kullanacağımız şeklini elde ederiz.


Aşağıdaki kod, verdiğiniz formülü B2:B30 aralığına yazar.


Kod:
Sub TOPLACARPIM()

Range("B2:B30").ClearContents
    For i = 2 To 30
    Cells(i, 2).Select
       ActiveCell.FormulaR1C1 = "=SUMPRODUCT((RC[4]:R10C6)*(RC[5]:R10C7))"
    Next i
Range("B2").Select

End Sub


Ayrıca buraya bakın.

http://www.excelgurusu.com/basvuru-stilleri-ve-makro-ile-formul-kopyalama/


.

.
 
Geri
Üst