E-Topla Makro

Katılım
15 Ağustos 2008
Mesajlar
79
Excel Vers. ve Dili
2003
Merhaba arkadaşlar e-toplama formülünü makroda uygulayabilir miyiz acaba?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,501
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki şekilde kullanabilirsiniz.

Kod:
WorksheetFunction.SumIf([A:A],Ölçüt,[B:B])
 
Katılım
15 Ağustos 2008
Mesajlar
79
Excel Vers. ve Dili
2003
Peki bu makroyu sayfa 1 deki verilerden bulup sayfa 2 de istediğimiz yere yazdırması için ne yapmalıyız acaba.

Yardımlarınız için 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

Sayfa2'nin A1 hücresine, sayfa1'rin C1 hücresindeki ölçüte uyan Sayfa1'rin A1:A100 aralığındaki verilerin karşılığı olan Sayfa1'rin B1:B100 aralığındaki verileri toplar.


Kod:
Sheets("SAYFA2").Range("A1") = WorksheetFunction.SumIf(Sheets("sayfa1").Range("A1:A100"), Sheets("sayfa1").Range("c1"), Sheets("sayfa1").Range("b1:b100"))
 
Katılım
15 Ağustos 2008
Mesajlar
79
Excel Vers. ve Dili
2003
Yardımlarınız için çok teşakkür ederim

Saygılarımla..
 
Son düzenleme:
Katılım
7 Ağustos 2007
Mesajlar
328
Excel Vers. ve Dili
excell 2003 - 2007
Sub Makro1()
Set s1 = Sheets("ALIŞ")
Set s2 = Sheets("SATIŞ")
Set s3 = Sheets("ÖZET")

s3.Range("B2") = WorksheetFunction.SumIf(s1.Range("D2: D100"), s1.Range("A2"), s1.Range("E2:E100"))
s3.Range("C2") = WorksheetFunction.SumIf(s2.Range("D2: D100"), s2.Range("A2"), s2.Range("E2:E100"))
End Sub

arkadaşlar Etopla formülünü bu şekle dönüştürdüğümde değer sıfır oluyor oysa makrosuz yaptığımda sonucu veriyor hatanın nereden kaynaklandığını çözemedim.
Dosya ektedir.
 

Ekli dosyalar

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,607
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Merhaba,
Kodlardaki mavi renkli değişikliği dener misiniz?

Kod:
s3.Range("B2") = WorksheetFunction.SumIf(s1.Range("D2:D100"), s1.Range("[COLOR="blue"][B]d2[/B][/COLOR]"), s1.Range("E2:E100"))
s3.Range("C2") = WorksheetFunction.SumIf(s2.Range("D2:D100"), s2.Range("[COLOR="blue"][B]d2[/B][/COLOR]"), s2.Range("E2:E100"))
 
Katılım
7 Ağustos 2007
Mesajlar
328
Excel Vers. ve Dili
excell 2003 - 2007
sayın dede formülün aslı
=ETOPLA(ALIŞ!D$2: D$10000;A2;ALIŞ!E$2:E$10000)
=ETOPLA(SATIŞ!D$2: D$10000;A2;SATIŞ!E$2:E$10000)
bu şekilde sonuç olarak 32.300,00 çıkıyor alış; satış ise32.368,77 lira çıkıyor
yardımcı olursanız sevinirim.
 
Katılım
7 Ağustos 2007
Mesajlar
328
Excel Vers. ve Dili
excell 2003 - 2007
Konuyla alakası olmasa da günlerdir bir türlü sonuca ulaştıramadığım bir nokta var uzman birini bulmuşken yardım istemeden olmaz diye düşünüyorum;

elimdeki dosyanın B sütünü ile AD sütununa kadar değerler var 12. satıra kadar bunları herbirini her birini ayrı ayrı 17. satırda toplamasını sağlamak istiyorum. ama bir türlü yapamadım.

For r = 5 To 12
sy = s1.Range("AC" & r) * 100 / s1.Range("AC17")
s1.Range("AD" & r) = Round(sy, 2)
Next
burada istediğim gibi döngüde işlem yaptırabiliyorum. Ama yukarıda benzer bir uygulama yapmak için ne yapabilirim.
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,607
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
sayın dede formülün aslı =ETOPLA(ALIŞ!D$2: D$10000;A2;ALIŞ!E$2:E$10000)=ETOPLA(SATIŞ!D$2: D$10000;A2;SATIŞ!E$2:E$10000)bu şekilde sonuç olarak 32.300,00 çıkıyor alış; satış ise32.368,77 lira çıkıyoryardımcı olursanız sevinirim.
Merhaba,
Alış tablonuzu aşağıya ekliyorum. İşlemi elle yapalım. Tablodaki Kömür bedellerini topladığımızda 74.000 tutuyor. Yoksa ben mi yanılıyorum. Bu sayılardan hangilerini toplayıp 32300 buluyoruz anlamadım. Eğer elle yaptığımız toplama doğru ise (74.000), sizin formülünüz yanlış demektir. Eğer 74000 yanlış ise aşağıdaki hangi sayıları toplayıp 32300 bulduğumuzu söylerseniz kodları ona göre değiştiririz.
Formülünüzde ölçüt olarak A2 hücresini kullanmışsınız ama A2 de sıra numarası var. Bunuda anlamadım.


SIRA TARİH MKB.NO AÇIK. MİKTAR
1 09.Oca 9778 KÖMÜR 25.000,00
2 08.Şub 247516 YEM 1.500,00
3 23.Şub 187302 YEM 2.500,00
4 28.Mar 187309 YEM 5.000,00
5 05.Oca 187491 YEM 2.500,00
14 20.Tem 187332 YEM 10.000,00
18 28.Eki 21017 YEM 3.000,00
19 30.Eki 168719 YEM 2.750,00
20 06.Kas 16403 KÖMÜR 19.000,00
21 06.Kas 16402 KÖMÜR 12.000,00
22 19.Kas 168801 YEM 2.550,00
24 27.Kas 66416 ODUN 1.200,00
25 28.Kas 16468 KÖMÜR 6.000,00
26 28.Kas 16467 KÖMÜR 12.000,00
27 16.Ara 168888 YEM 2.500,00
 
Katılım
7 Ağustos 2007
Mesajlar
328
Excel Vers. ve Dili
excell 2003 - 2007
haklısınız kömür 74000 yem 32300 ve odun 1200 ytl olarak çıkıyor. Sizin verdiğiniz formülle
For i = 2 To 5
s3.Range("E" & i) = WorksheetFunction.SumIf(s1.Range("D2: D100"), s1.Range("D" & i), s1.Range("E2:E100"))
s3.Range("F" & i) = WorksheetFunction.SumIf(s2.Range("D2: D100"), s2.Range("D" & i), s2.Range("E2:E100"))
Next
End Sub
yalnız satış değerleri ve odunun ytl değeri doğru çıkmıyor ve
inşaat malzemesinin 0 çıkması lazım ama ona da değer atıyor
 
Son düzenleme:
Katılım
7 Ağustos 2007
Mesajlar
328
Excel Vers. ve Dili
excell 2003 - 2007


Burada da görüldüğü gibi makro doğru sonucu vermiyor.
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,607
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Merhaba,

Foruma ekli örnek dosyanız için aşağıdaki kodları kullanabilirsiniz.

Kod:
Sub eToplam()
Set s1 = Sheets("ALIŞ")
Set s2 = Sheets("SATIŞ")
Set s3 = Sheets("ÖZET")
For i = 2 To 5
   s3.Range("B" & i) = WorksheetFunction.SumIf(s1.Range("D2:D100"), s3.Range("A" & i), s1.Range("E2:E100"))
   s3.Range("C" & i) = WorksheetFunction.SumIf(s2.Range("D2:D100"), s3.Range("A" & i), s2.Range("E2:E100"))
   Next
End Sub
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,607
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
...elimdeki dosyanın B sütünü ile AD sütununa kadar değerler var 12. satıra kadar bunları herbirini her birini ayrı ayrı 17. satırda toplamasını sağlamak istiyorum. ama bir türlü yapamadım....
Merhaba,
Aşağıdaki kodları kullanabilirsiniz.

Kod:
Sub Topla17()
For i = 2 To 30
    Cells(17, i).Value = "=SUM(R[-16]C:R[-5]C)"
Next
End Sub
 
Üst