• DİKKAT

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

SUMPRODUCT fonksiyonunun makro hali

Katılım
26 Mayıs 2005
Mesajlar
3
Arkadaşlar merhaba,
Birkaç haftadır sitenizi takip ediyorum. İnanılmaz güzel şeyler yapmışsınız.
Hepinizin ellerine sağlık...
Benim bir sorunum var ve bugün tüm gün boyunca forum mesajlarına baktım belki çözebilirim diye fakat kafam iyice karıştı.
Þöyle ki;

veri giriş sayfam olan Sheet1'den analiz sayfam olan sheet2'ye
=SUMPRODUCT((sheet1!$A$1:$A$59839="LOKAL MALZEME")*(sheet1!$C$1:$C$59839=$B2);(sheet1!$D$1:$D$59839))
yukarıdaki formülü kullanarak veri toplamı getiriyorum. Ancak çalışırken her veri girişinde hesaplama yapıyor ve dosyam çok yavaşlıyor. Başka formül ve fonksiyonlarda kullandığımdan hesaplamanın otomatik olması gerekli.
Sayfama bir buton koyarak istediğim zaman makro ile hesaplamayı nasıl yaptırabilirim.
 
Aşağıdaki şekilde deneyin. Burada sonucun yazılacağı hücre B1 dir.

[vb:1:f58160f05c]Sub hesapla()
Set s1 = Sheets("sheet1")
[B1] = WorksheetFunction.SumProduct(s1.[A1:A59839] = "LOKAL MALZEME", s1.[C1:C59839] = [B2], s1.[D1:D59839])
End Sub
[/vb:1:f58160f05c]
 
Bir yerde yanlış yapıyor olmalıyım ama hala olmadı hata veriyor.
"Type mismatch" hatası veriyor. neyapmam lazım.
 
Merhaba
Ben de aynı formülü uyguladım aynı hatayı verdi.

Aşağıdaki gibi uygulayınca vermiyor


[b1] = Evaluate("SumProduct((a1:a50000= ""LOKAL MALZEME"") * (c1:c50000= b2) * (d1:d50000))")
 
Merhaba,
İlgili hücreme #VALUE! yazıyor.
Daha basit olarak benim ihtiyacım;
başka bir sayfadaki iki sütunda text aratacağım. Doğrulanan tüm satırlardaki üçüncü sütun değerlerini toplatacağım.
 
Merhaba

AA sayfasında verileriniz var
BB sayfasının C1 hücresine BB sayfasının B1 ve B2 hücrelerinde yazan verileri toplatmak istiyorsunuz

B1 hücresi için AA sayfasındaki a1:a5 arasındaki
B2 hücresi için AA sayfasındaki c1:c5 arasındaki hücreler

sub tc()
Set s1 = Sheets("bb")
s1.Range("c1") = Evaluate("SumProduct((aa!a1:a5=bb!b1) * (aa!c1:c5=bb!b2) * (aa!d1:d5))")

end sub
 
Merhaba

WorksheetFunction.SumProduct olarak hala çözemedim

Type mismatch hatası veriyor run time error 13
Saygılarımla
 
Açıkçası bende çözemedim. :D , Bende araştırıyorum,bulunca açıklayacağım.
 
Eğer sonuç yazılcak hücre + değişken, kullanarak If ile gerekli kodları yazarsanız, kendi SumProduct'unuzu oluşturabilirsiniz.
 
Merhaba

Sn.leventm
Ben de araştırdım Genellikle Alman sitelerinde gelen mesajlarda hep aynı hata mesajı

hücreye değer yazılacaksa açıklamalarında evaluate ile kullanıyorlar.

Sn.Vba man

İstenen kodu ifadenizde belirtiğiniz gibi açıklamalı olarak yazabilirmisiniz
Değiştirildi: Anladım siz döngü ve sayaç kullanmaktan bahsediyorsunuz.
 
Geri
Üst