Hey there!

It looks like you're enjoying Hesaptablosu - Akademik Excel Forumu but haven't created an account yet. Why not take a minute to register for your own free account now? As a member you get free access to all of our forums and posts plus the ability to post your own messages, communicate directly with other members and much more. Register now!

Already a member? Login at the top of this page to stop seeing this message.

Toplam 17 sonutan 1 ile 17 arasndakiler gsteriliyor.

Konu: Vba Kodlar ile Topla.arpm

  1. #1
    Kdemli ye
    yelik tarihi
    Oct 2004
    Nereden
    Gediz
    Mesajlar
    373

    Vba Kodlar ile Topla.arpm

    Merhabalar

    eitli almalarmda kullanm olduum aadaki rnek forml, satr says ve kullanlan formll hcre says oaldka yavalama ve dosyann bymesine sebep olmakta.
    Bu ve benzer formlleri vba kodlar ile denediimde Deyara ve ETopla fonksiyonunda hata ile karlamam olmama ramen Topla.arpm da 13 numaral hata sonucunu alyorum.
    Kod:
    =TOPLA.ARPIM((Sayfa1!A1:A100="Elma")*(Sayfa1!B1:B100="Krmz")*(Sayfa1!C1:C100))
    Yukardaki formln yerine yapmaya altm kodlar aada. Veriler Sayfa1 C1:C100 aralnda. En alttakiler TextBox'lu denemem.

    Kod:
    TextBox3 = WorksheetFunction.SumProduct(Range("Sayfa1!A1:A100") = "Elma" * Range("Sayfa1!B1:B100") = "Krmz" * Range("Sayfa1!C1:C100"))
    Kod:
    TextBox3 = WorksheetFunction.SumProduct((Range("Sayfa1!A1:A100") = "Elma") * (Range("Sayfa1!B1:B100") = "Krmz") * (Range("Sayfa1!C1:C100")))
    Kod:
    TextBox3 = WorksheetFunction.SumProduct((Range("Sayfa1!A1:A100") = TextBox1) * (Range("Sayfa1!B1:B100") = TextBox2) * (Range("Sayfa1!C1:C100")))
    Kod:
    'On Error Resume Next
    Dim v1 As String
    Dim v2 As String
    v1 = TextBox1.Text
    v2 = TextBox2.Text
    TextBox3 = WorksheetFunction.SumProduct((Range("Sayfa1!A1:A100") = v1) * (Range("Sayfa1!B1:B100") = v2) * (Range("Sayfa1!C1:C100")))
    Parantezlerde mi hata yapyorum, operatrlerde mi yada baka bir yerde mi hatalym.

  2. #2
    Forum Yneticisi
    yelik tarihi
    Apr 2004
    Nereden
    stanbul
    Versiyon
    Excel 2003 TR
    Mesajlar
    1.314
    u ekilde deneyebilir misiniz?

    TextBox3 = WorksheetFunction.SumProduct((Worksheets("Sayfa1").Range("A1:A100") = "Elma") * (Worksheets("Sayfa1").Range("B1:B100") = "Krmz") * (Worksheets("Safa1").Range("C1:C100")))

  3. #3
    Site ve Akademi Yneticisi M. Temel Korkmaz - ait Kullanc Resmi (Avatar)
    yelik tarihi
    Mar 2004
    Nereden
    Bursa
    Versiyon
    Excel 2013 TR
    Mesajlar
    3.336
    Merhaba Tamer Bey,
    Salih kardeime ait deneme de olmuyorsa ve her ne kadar siz benim yazacam kodlamay biliyor olsanz da aadaki gibi basit kodlama zerinde oynayarak sorununuzu zebilirsiniz.

    Kod:
    Private Sub CommandButton1_Click()
        Dim veri As Worksheet
        Dim say As Integer
        Dim i As Integer
        Dim toplaE As Double
    
        Set veri = Worksheets("Sayfa1")
        say = WorksheetFunction.CountA(veri.Range("A:A"))
        
        toplaE = 0
        For i = 1 To say
            If veri.Cells(i, 1) = "Elma" And veri.Cells(i, 2) = "Krmz" Then
               toplaE = toplaE + veri.Cells(i, 3)
            End If
        Next i
        TextBox1 = toplaE
    End Sub

  4. #4
    Kdemli ye
    yelik tarihi
    Oct 2004
    Nereden
    Gediz
    Mesajlar
    373
    Merhabalar
    Dn leden sonra foruma girme frsatm olmad, akam kodlar denemek zere aldm fakat forumdaki arza nedeniyle cevap yazamadm.

    Alnt Salih Koca Nickli yeden Alnt
    u ekilde deneyebilir misiniz?
    TextBox3 = WorksheetFunction.SumProduct((Worksheets("Sayfa1").Range("A1:A100") = "Elma") * (Worksheets("Sayfa1").Range("B1:B100") = "Krmz") * (Worksheets("Sayfa1").Range("C1:C100")))
    Sayn Salih Hocam sizin yazdnz rnek de ayn hata (13:Type mismatch) kodunu dndrd. Bu tr kodlar deneme amacyla oluturduum 8-10 satr ve 3 stundan oluan veriler zerinde eitli denemeler yapmama ramen Topla.arpm fonksiyonunun iinden kamadm. Nerede hata yapyorum bulamadm. Acaba eklenmesi gereken bir eklenti yada referans m var.

    Alnt M.Temel Korkmaz Nickli yeden Alnt
    Merhaba Tamer Bey,
    Salih kardeime ait deneme de olmuyorsa ve her ne kadar siz benim yazacam kodlamay biliyor olsanz da aadaki gibi basit kodlama zerinde oynayarak sorununuzu zebilirsiniz.
    Sayn Hocam kodlar denedim, istediim sonucu aldm, almalarmda kullanabileceim gzel bir rnek oldu.

    SumProduct fonksiyonu ile yapmay istememim sebebi hem renmek hem de ok fazla forml yazmak gerektii durumlarda daha pratik olur dncesiyledi.
    nceki bir almamda kod ile sayfa zerine yaklak 120 hcreye forml yazdrp rapor alyordum. Rapor aldktan sonra dosyay gereksiz yere arlatrmasn diye yeniden sildiriyordum. Forml yazdrma ilemi yaklak 20 saniye kadar sryor, sreyi ksaltmak amacyla Topla.arpm fonksiyonunu kodlar ile yapmak dncesi aklma girince bu araya girdim.

    lginiz iin teekkrler.

    Bu arada Office.gen.tr hayrl ve uurlu olsun. Foruma girmek iin genellikle ksayol kullandm iin yeni haberdar oldum.

  5. #5
    Kdemli ye
    yelik tarihi
    Jul 2008
    Mesajlar
    150
    s.a.

    Tamer Karde,

    Bende sizin gibi Topla.arpm formulunu geen senelerde makro ile yapmaya altm ancak sizin karlatnz sorunlarla karlamtm.

    Eer denemediyseniz size nacizene tavsiyem formllerinizin sadece birini brakp deerlerini silin. oalatmanz gerektii zaman bu kalan tek formlden oaltn. Bylelikle kitabnzda arlamam ve tekrar forml yazmak zorunda kalmam olursunuz.

    almalarnzda baarlar dilerim.

  6. #6
    Kdemli ye
    yelik tarihi
    Apr 2004
    Mesajlar
    781
    Merhaba.

    Alttaki kodlar deneyin:

    Kod:
    [SUMPRODUCT((Sayfa1!A1:A100="Elma")*(Sayfa1!B1:B100="Krmz")*Sayfa1!C1:C100)]
    veya

    Kod:
    Evaluate("SUMPRODUCT((Sayfa1!A1:A100=""Elma"")*(Sayfa1!B1:B100=""Krmz"")*Sayfa1!C1:C100)")

  7. #7
    Kdemli ye
    yelik tarihi
    Oct 2004
    Nereden
    Gediz
    Mesajlar
    373
    Merhaba

    Muhammet Hocam kodlarn ikisini de denedim ikisi de hatasz alt. Dier fonksiyonlardan da deneme yaptm, Evaluate blmndeki balklar da inceledim.

    Bir skntdan daha sayenizde kurtulmu olduk.
    Teekkrler.

  8. #8
    Kdemli ye
    yelik tarihi
    Jul 2008
    Mesajlar
    150
    Bizde sayenizde birey daha renmi olduk.

    Teekkr ederiz.

  9. #9
    Kdemli ye
    yelik tarihi
    Oct 2004
    Nereden
    Gediz
    Mesajlar
    373
    Merhabalar
    Bu Sumproduct fonksiyonu ile yldzlarmz barmyor galiba.

    Aadaki kodlar bu ekilde kullanldnda hzl ve hatasz alyor.
    Kod:
    [SUMPRODUCT((Sayfa1!A1:A100="Elma")*(Sayfa1!B1:B100="Krmz")*Sayfa1!C1:C100)]
    Kod:
    Evaluate("SUMPRODUCT((Sayfa1!A1:A100=""Elma"")*(Sayfa1!B1:B100=""Krmz"")*Sayfa1!C1:C100)")
    Fakat kodlar (Her ikiside) ierisindeki "Elma" yerine ComboBox1, "Krmz" yerine de ComboBox2 deki deerleri kullanmaya kalktmda "Tr uyumazl" hatas veriyor.
    Kendi bilebildiklerim dahilinde deneme yanlma eklinde bir ka gndr zmeye alyorum, iinden kamadm.

    zm iin nasl bir yntem uygulayabiliriz.

  10. #10
    Site ve Akademi Yneticisi M. Temel Korkmaz - ait Kullanc Resmi (Avatar)
    yelik tarihi
    Mar 2004
    Nereden
    Bursa
    Versiyon
    Excel 2013 TR
    Mesajlar
    3.336
    Merhaba,
    Ben sanrm u noktay kardm. Bu formlleri hcreye nereden yazdryoruz? Yani bu ComboBox'lar neyin zerinde?

    Varsayalm ki G1 hcresinde "elma" ve G2'de "krmz" yazyor. O halde forml aadaki gibi olacak.

    =TOPLA.ARPIM((Sayfa1!A1:A100=""&G1&"")*(Sayfa1!B1:B100=""&G2&"")*Sayfa1!C1:C100)

    Eer Combodan yazdrmak zor olursa, Combolardaki deeri nce hcrelere gnderin sonra o formlden o hcrelere yukardaki gibi referans verin.

    Ama yine de bu formln nasl yazld ve combolarn nerede olduu nemli.

    Eer bunlar sayfa zerindeki denetimler ise bu Combolarn LINKEDCELL zelliklerini hcrelere referans etmeniz yeterli olacaktr.

  11. #11
    Kdemli ye
    yelik tarihi
    Oct 2004
    Nereden
    Gediz
    Mesajlar
    373
    Hocam Merhaba

    Kodlar Form zerinde kullanacam. Bir butona atayarak. Tek bir butona 36 adet forml yazp kullanacam. rneimde 1 adet forml var. Dierleri de ayn mantkla olaca iin hepsini yazmadm. Daha nce Muhammet Ayta hocamn gnderdii iki forml, ayr butonlar ile almama uyarlamaya altm fakat olmad. 2 adet ComboBox ve sonucun gsterilecei 1 adet Textbox.(TextBox3)
    Kod:
    Private Sub CommandButton1_Click()
    Dim arg1 As String
    Dim arg2 As String
    arg1 = ComboBox1.Text
    arg2 = ComboBox2.Text
    TextBox3 = [SUMPRODUCT((Sayfa1!A2:A100="arg1")*(Sayfa1!B2:B100="arg2")*Sayfa1!C2:C100)]
    End Sub
    Kod:
    Private Sub CommandButton2_Click()
    Dim arg1 As String
    Dim arg2 As String
    arg1 = ComboBox1.Text
    arg2 = ComboBox2.Text
    TextBox3 = Evaluate("sumproduct((Sayfa1!A2:A100=""arg1"")*(Sayfa1!B2:B100=""arg2"")*Sayfa1!C2:C100)")
    End Sub
    Gerekirse, rnek bir dosyay buraya ykledim.

  12. #12
    Site ve Akademi Yneticisi M. Temel Korkmaz - ait Kullanc Resmi (Avatar)
    yelik tarihi
    Mar 2004
    Nereden
    Bursa
    Versiyon
    Excel 2013 TR
    Mesajlar
    3.336
    Merhaba Tamer Bey

    Sizin ikinci kodunuz iin olan zm aadaki gibidir. TextBox iin denediimde doru sonucu verdi.

    TextBox3 = Evaluate("sumproduct((Sayfa1!A2:A100=""" & arg1 & """)*(Sayfa1!B2:B100=""" & arg2 & """)*Sayfa1!C2:C100)")

  13. #13
    Kdemli ye
    yelik tarihi
    Oct 2004
    Nereden
    Gediz
    Mesajlar
    373
    Hocam tamamdr. Sorun zld.
    Teekkr ederim.

    Kodlarn son hali aadaki gibi olutu.
    Kod:
    Private Sub CommandButton2_Click()
    Dim arg1 As String
    Dim arg2 As String
    arg1 = ComboBox1.Text
    arg2 = ComboBox2.Text
    TextBox3 = Evaluate("sumproduct((Sayfa1!A2:A100=""" & arg1 & """)*(Sayfa1!B2:B100=""" & arg2 & """)*Sayfa1!C2:C100)")
    End Sub
    Kodu kullanmak isteyenler olursa kk bir hatrlatma :
    Rakamlarn bulunduu stundaki aralkta (C2:C100) metin ieren hcre bulunduunda kod hata retiyor. lgili aralktakiler mutlaka say olmal.

  14. #14
    Site ve Akademi Yneticisi M. Temel Korkmaz - ait Kullanc Resmi (Avatar)
    yelik tarihi
    Mar 2004
    Nereden
    Bursa
    Versiyon
    Excel 2013 TR
    Mesajlar
    3.336


    HAD HAYIRLI OLSUN DYORUM BEN DE.

  15. #15
    Kdemli ye
    yelik tarihi
    Aug 2006
    Nereden
    Antalya
    Mesajlar
    156
    Selamlar,

    C stununda metin ieren hcre olduu durumlarda hata retmemesi iin aadaki ekilde kullanmalsnz.

    TextBox3 = Evaluate("Sumproduct((Sayfa1!A2:A100=""" & arg1 & """)*(Sayfa1!B2:B100=""" & arg2 & """);Sayfa1!C2:C100)")

  16. #16
    Kdemli ye
    yelik tarihi
    Oct 2004
    Nereden
    Gediz
    Mesajlar
    373
    A.S.
    Alnt Korhan_AYHAN Nickli yeden Alnt
    Selamlar,

    C stununda metin ieren hcre olduu durumlarda hata retmemesi iin aadaki ekilde kullanmalsnz.
    Korhan bey teekkrler.

  17. #17
    Yeni ye
    yelik tarihi
    Aug 2010
    Nereden
    KOCAEL
    Mesajlar
    13
    Merhaba.
    Nerede hata yapyorum bulamadm. eitli varyasyonlar denedim ama olmad. Uzaman gzyle birde siz bakar msnz

    Set S1 = Sheets("2011")
    Set S8 = Sheets("Toplamlar")
    son1 = S1.Range("A1048576").End(xlUp).Row


    it = CDate(S8.Cells(1, 4))
    st = CDate(S8.Cells(2, 4))

    For i = 5 To 7 '46
    hs = CStr(S8.Cells(i, 2))
    S8.Cells(i, 4) = [SUMPRODUCT((2011!F3:F200000>="it")*(2011!F3:F200000<="st")*(2011!A3:A200000="hs");(2011!K3:K200000))]
    Next i

    imdiden ok teekkrler.

    Esenlikler dilerim. yi almalar.

Konu Bilgisi

Users Browsing this Thread

u anda 1 yemiz bu konuya gz atyor. (0 kaytl ye ve 1 misafir.)

Benzer Konular

  1. Topla.arpm hakknda
    Konuyu Aan: Ercan Yldz, Forum: Yerleik lev (Fonksiyon) Sorular.
    Cevaplar: 5
    Son Mesaj : 21.05.2015, 20:26
  2. (TOPLA.ARPIM) Topla.arpm Hakknda
    Konuyu Aan: chizal, Forum: Topla.arpm.
    Cevaplar: 8
    Son Mesaj : 14.11.2006, 18:05
  3. (TOPLA.ARPIM) ki Deer Arasndakilerin Hizasn Topla
    Konuyu Aan: titika, Forum: Topla.arpm.
    Cevaplar: 1
    Son Mesaj : 22.10.2006, 06:51
  4. (TOPLA.ARPIM) Topla.arpm ve ETOPLA birlikte kullanm
    Konuyu Aan: asu, Forum: Topla.arpm.
    Cevaplar: 3
    Son Mesaj : 19.07.2006, 19:24
  5. (VER | ZET TABLO) Vsetopla ya da topla.arpm hakknda
    Konuyu Aan: msahin, Forum: zet Tablo.
    Cevaplar: 2
    Son Mesaj : 17.04.2006, 02:02

Bu Konu in Etiketler

Yetkileriniz

  • Konu Acma Yetkiniz Yok
  • Cevap Yazma Yetkiniz Yok
  • Eklenti Ykleme Yetkiniz Yok
  • Mesajnz Deitirme Yetkiniz Yok
  •