topla.çarpım Formülünün Fonksiyon şekli

Katılım
19 Nisan 2007
Mesajlar
337
Excel Vers. ve Dili
Excel 2003 Türkçe
Herkese merhabalar
Arkadaşlar aşağıdaki formülü 5000 satıra girmem gerekli ve buda sayfanın boyutunun büyümesine yol açmakta. Formül aşağıda
=topla.çarpım((yuvarla((A2:A200);2)))

Bu formülü fonksiyon olarak yazabilirmiyiz acaba?

şöyleki;
c1 hücresi seçildiğinde a1 ile b1 hücre toplamlarını yazan fonksiyon aşağıda
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[c1] = [a1] + [b1]
End Sub

yukarıdaki formülüde bu şekilde yazabilirmiyiz. Teşekkürler
 
Katılım
2 Mart 2007
Mesajlar
603
Excel Vers. ve Dili
2003
WorksheetFunction.SumProduct(-------)

şeklinde ki formülü girebilirsiniz.

Fakat verdiğiniz örnek te topla.çapıma gerek yok

direk Topla(a2:a200) kullanılabilir.
=YUVARLA(TOPLA(a2:a200);2)
 
Katılım
19 Nisan 2007
Mesajlar
337
Excel Vers. ve Dili
Excel 2003 Türkçe
demeye çalıştığım şey hücreye formül yazmadan bu işlemin yapılması.
Diger taraftan çoğu zaman küsürlü toplamlarda topla.çarpım veya topla((yuvarla ( sizinde dediginiz (YUVARLA(TOPLA) ) gibi formülü kullanılmadığı zaman sonuçlarda hata meydana geliyor.
örneğin hücre aktif olduğunda veya sayfa aktif olduğunda yada bir buton ile ama formül olmayacak
Teşekkürler
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Örnek dosyanızı ekleyebilirmisiniz.Bu açıklamalarınızdan nasıl bir işlem yapılması gerektiği belli olmuyor.
 
Katılım
25 Nisan 2007
Mesajlar
459
Excel Vers. ve Dili
2007
Yanlış anlamadıysam, yazdığın fonksiyon; hesaplamalarda zaman aldığı için ve dosya boyutunu şişirdiği için fonksiyon olarak kalmasın istiyosun.

Yani tekrar tekrar hesaplanmasın, dosyanı şişirmesin istiyosun.

Eğer senin dosyalarında benim gibi binlerce satırdan oluşuyorsa o zaman en üst satırına örnek fonksiyonları bırak, Allttaki satırlardaki fonksiyonları KOPYALA yapıp daha sonra mouse'nin sağ tuşuyla ÖZEL YAPIŞTIR yapıp SADECE DEĞERLERİ dersen fonksiyonlardan kurtulmuş olursun. Bu sayede dosyan gereksiz yere tekrarlanan formüllerle şişmemiş olur.

Yanlış anlamadıysam sorunun bu gibi geldi.
 
Katılım
2 Mart 2007
Mesajlar
603
Excel Vers. ve Dili
2003
makroda ki formülü bu şekilde kullanabilirsiniz.

Range("A21").Value = Round(WorksheetFunction.Sum(Range("a2:a20")), 2)
 
Katılım
19 Nisan 2007
Mesajlar
337
Excel Vers. ve Dili
Excel 2003 Türkçe
Teşekkürler İyi çalışmalar
 
Üst