İçerikteki Formül Makroya uyarlanabilir mi?

Katılım
6 Mayıs 2020
Mesajlar
205
Excel Vers. ve Dili
Microsoft Office 365 E3
Altın Üyelik Bitiş Tarihi
01-10-2024
Merhaba,

Aşağıda yazılı olan formülün makro olarak yazı mı var mıdır? Var ise uyarlayabilirseniz çok sevinirim. Uyarlanan kod kaynağım olur umarım o kaynaktan yola çıkarak başka kodlamalar yapmaya da çalışırım inşallah.

=TOPLA.ÇARPIM(ALTTOPLAM(9;KAYDIR('EK SAYFA'!$AB$3;SATIR('EK SAYFA'!$AB$3:'EK SAYFA'!$AB$49998)-SATIR('EK SAYFA'!$AB$3);))*('EK SAYFA'!$B$3:'EK SAYFA'!$B$49998=1)*('EK SAYFA'!$R$3:'EK SAYFA'!$R$49998="YUVARLAK")*('EK SAYFA'!$T$3:'EK SAYFA'!$T$49998="SERVİS")*('EK SAYFA'!$W$3:'EK SAYFA'!$W$49998="BOŞALTMA")*1)

Yardımcı olmaya çalışan saygıdeğer üyelere şimdiden teşekkür eder, iyi günler dilerim.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Bunun yerine örnek dosya paylaşsanız ve dosyada ne yapmak istediğinizi belirtseniz daha uygun olur.
 
Katılım
6 Mayıs 2020
Mesajlar
205
Excel Vers. ve Dili
Microsoft Office 365 E3
Altın Üyelik Bitiş Tarihi
01-10-2024
Yusuf Bey öncelikle geri dönüşünüz için teşekkür ederim.

Göndereceğim örnek dosyadaki başlıklar ve ifadeleri ben uydurdum lakin formülü de uydurduğum başlıklara göre düzenledim.
İlk Sayfadaki boyalı alanlar formülün ilişkili olduğu alanlar. Biraz karışık duruyor lakin. Yıllık bazda Rapor sayfasında hesaplama yapmasını istiyorum.
Formülle bunları hesaplattırıyorum ama çok kasıyor. Yardımcı olabilirseniz mutlu olurum.

Hayali dosyayı ekte aktarıyorum. Umarım işinizi görür.
 

Ekli dosyalar

Katılım
6 Mayıs 2020
Mesajlar
205
Excel Vers. ve Dili
Microsoft Office 365 E3
Altın Üyelik Bitiş Tarihi
01-10-2024
Özetlemem gerekirse;

Adetleri istenilen durumlara göre hesaplatmak.

Ocak ayında YUVARLAK çeşidi SERVİS çalışma şekli ile BOŞALTMA operasyonu gerçekleştirmiş. İlgili ay itibariyle toplamda bu işlemden kaç adet yapılmışsa C5 hücresine yazılmış.

Bunu 6 ana başlıkta 22 alt başlıkta ve 12 ay boyunca ilgili ayların hücrelerine yazıyordum. Her hücreye ilgili formülleri tek tek yazıyordum.
Anlatabildim umarım. Orjinal tablo ile birebir aynı kullanımda. Tekrardan teşekkür ederim.
 
Katılım
6 Mayıs 2020
Mesajlar
205
Excel Vers. ve Dili
Microsoft Office 365 E3
Altın Üyelik Bitiş Tarihi
01-10-2024
Düzeltme yapacağım. Adet toplamı değil. Ağırlık toplamı olacak.

ilk 4 Ana başlık ve Alt Başlıkları = Ağırlık toplamından hesaplanıyor.

5. Başlıktaki (Yamuk)
1. Alt Başlık (Adet Boşaltma) = Adet toplamı olacak.
2. Alt Başlık (Kayıtsız Misafir Boşaltma) = Kayıtsız Misafir Toplamı olacak.
3. Alt Başlık (Adet Doldurma) = Adet toplamı olacak.
4. Alt Başlık (Kayıtsız Misafir Doldurma) = Kayıtsız Misafir Toplamı olacak.

6. Başlıktaki (Kişi)
1. Alt Başlık (Boşaltma) = Misafir Toplamı olacak.
2. Alt Başlık (Doldurma) = Misafir Toplamı olacak.
 
Katılım
6 Mayıs 2020
Mesajlar
205
Excel Vers. ve Dili
Microsoft Office 365 E3
Altın Üyelik Bitiş Tarihi
01-10-2024
Bayağı uzun bir işlem olacaksa çok fazla vakit alacaksa hiç uğraşmayın Yusuf Bey. Ben böyle idare ederim.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Farklı hücrelerde farklı formüller olacağından çözüm bulmak biraz uzun sürebilir. Ancak ben çözüm ararken oluşturduğum makro kodu maalesef hata verdi ve hatanın nedenini de bir türlü bulamadım. Eğer hata vermeseydi istediğiniz şekilde düzenleme yapabilirdim muhtemelen.

Kısacası yapamadım maalesef :(
 
Katılım
6 Mayıs 2020
Mesajlar
205
Excel Vers. ve Dili
Microsoft Office 365 E3
Altın Üyelik Bitiş Tarihi
01-10-2024
Yusuf Bey ilgilenmeniz yeterli. Vakit ayırıp denediğiniz için teşekkür ederim. Formüllü sistemle yoluma devam edeyim :)

Sağlıcakla kalın.
 

bmutlu966

Altın Üye
Katılım
26 Ocak 2006
Mesajlar
756
Excel Vers. ve Dili
Office 365 İngilizce 64 Bit
Altın Üyelik Bitiş Tarihi
31-01-2025
Merhaba,
Formüller ile hesaplamalarınızı makro ile yaptırıp dosyanızın kasmasını önleyebilirsiniz. İnceleyin ve formüllerinizi kontrol edin. Dosyanız ekte.
Kod:
Sub formuller()
Application.ScreenUpdating = False
With Range("D5:O8")
    .Formula = "=SUMPRODUCT(SUBTOTAL(9,OFFSET('EK SAYFA'!$AB$3,ROW('EK SAYFA'!$AB$3:'EK SAYFA'!$AB$49998)-ROW('EK SAYFA'!$AB$3),))*('EK SAYFA'!$B$3:'EK SAYFA'!$B$49998=D$1)*('EK SAYFA'!$R$3:'EK SAYFA'!$R$49998=$B$4)*('EK SAYFA'!$T$3:'EK SAYFA'!$T$49998=$C5)*('EK SAYFA'!$W$3:'EK SAYFA'!$W$49998=$B5)*1)"
    .Value = .Value
End With

With Range("D11:O14")
    .Formula = "=SUMPRODUCT(SUBTOTAL(9,OFFSET('EK SAYFA'!$AB$3,ROW('EK SAYFA'!$AB$3:'EK SAYFA'!$AB$49998)-ROW('EK SAYFA'!$AB$3),))*('EK SAYFA'!$B$3:'EK SAYFA'!$B$49998=D$1)*('EK SAYFA'!$R$3:'EK SAYFA'!$R$49998=$B$10)*('EK SAYFA'!$T$3:'EK SAYFA'!$T$49998=$C5)*('EK SAYFA'!$W$3:'EK SAYFA'!$W$49998=$B5)*1)"
    .Value = .Value
End With

With Range("D17:O20")
    .Formula = "=SUMPRODUCT(SUBTOTAL(9,OFFSET('EK SAYFA'!$AB$3,ROW('EK SAYFA'!$AB$3:'EK SAYFA'!$AB$49998)-ROW('EK SAYFA'!$AB$3),))*('EK SAYFA'!$B$3:'EK SAYFA'!$B$49998=D$1)*('EK SAYFA'!$R$3:'EK SAYFA'!$R$49998=$B$16)*('EK SAYFA'!$T$3:'EK SAYFA'!$T$49998=$C5)*('EK SAYFA'!$W$3:'EK SAYFA'!$W$49998=$B5)*1)"
    .Value = .Value
End With

With Range("D23:O26")
    .Formula = "=SUMPRODUCT(SUBTOTAL(9,OFFSET('EK SAYFA'!$AB$3,ROW('EK SAYFA'!$AB$3:'EK SAYFA'!$AB$49998)-ROW('EK SAYFA'!$AB$3),))*('EK SAYFA'!$B$3:'EK SAYFA'!$B$49998=D$1)*('EK SAYFA'!$R$3:'EK SAYFA'!$R$49998=$B$22)*('EK SAYFA'!$T$3:'EK SAYFA'!$T$49998=$C5)*('EK SAYFA'!$W$3:'EK SAYFA'!$W$49998=$B5)*1)"
    .Value = .Value
End With

With Range("D29:O29")
    .Formula = "=SUMPRODUCT(SUBTOTAL(9,OFFSET('EK SAYFA'!$X$3,ROW('EK SAYFA'!$X$3:'EK SAYFA'!$X$49998)-ROW('EK SAYFA'!$X$3),))*('EK SAYFA'!$B$3:'EK SAYFA'!$B$49998=D$1)*('EK SAYFA'!$R$3:'EK SAYFA'!$R$49998=$B$28)*('EK SAYFA'!$W$3:'EK SAYFA'!$W$49998=$C29)*1)"
    .Value = .Value
End With

With Range("D30:O30")
    .Formula = "=SUMPRODUCT(SUBTOTAL(9,OFFSET('EK SAYFA'!$AA$3,ROW('EK SAYFA'!$AA$3:'EK SAYFA'!$AA$49998)-ROW('EK SAYFA'!$X$3),))*('EK SAYFA'!$B$3:'EK SAYFA'!$B$49998=D$1)*('EK SAYFA'!$R$3:'EK SAYFA'!$R$49998=$B$28)*('EK SAYFA'!$W$3:'EK SAYFA'!$W$49998=$C29)*1)"
    .Value = .Value
End With

With Range("D31:O31")
    .Formula = "=SUMPRODUCT(SUBTOTAL(9,OFFSET('EK SAYFA'!$X$3,ROW('EK SAYFA'!$X$3:'EK SAYFA'!$X$49998)-ROW('EK SAYFA'!$X$3),))*('EK SAYFA'!$B$3:'EK SAYFA'!$B$49998=D$1)*('EK SAYFA'!$R$3:'EK SAYFA'!$R$49998=$B$28)*('EK SAYFA'!$W$3:'EK SAYFA'!$W$49998=$C29)*1)"
    .Value = .Value
End With

With Range("D32:O32")
    .Formula = "=SUMPRODUCT(SUBTOTAL(9,OFFSET('EK SAYFA'!$AA$3,ROW('EK SAYFA'!$AA$3:'EK SAYFA'!$AA$49998)-ROW('EK SAYFA'!$X$3),))*('EK SAYFA'!$B$3:'EK SAYFA'!$B$49998=D$1)*('EK SAYFA'!$R$3:'EK SAYFA'!$R$49998=$B$28)*('EK SAYFA'!$W$3:'EK SAYFA'!$W$49998=$C29)*1)"
    .Value = .Value
End With


With Range("D35:O36")
    .Formula = "=SUMPRODUCT(SUBTOTAL(9,OFFSET('EK SAYFA'!$Y$3,ROW('EK SAYFA'!$Y$3:'EK SAYFA'!$Y$49998)-ROW('EK SAYFA'!$Y$3),))*('EK SAYFA'!$B$3:'EK SAYFA'!$B$49998=D$1)*('EK SAYFA'!$R$3:'EK SAYFA'!$R$49998=$B$34)*('EK SAYFA'!$W$3:'EK SAYFA'!$W$49998=$B35)*1)"
    .Value = .Value
End With

Application.ScreenUpdating = True
MsgBox "Islem Tamam"

End Sub
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,235
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ben olsam ÖZET TABLO (PIVOT TABLE) kullanırdım.

Tabloyu oluşturduktan sonra güncelleme işlemi saniyeler içinde gerçekleşecektir. Aynı zamanda sürükle-bırak ile dilediğiniz gibi şekillendirebilirsiniz.

Dilimleyici kullanarak farklı görünümler elde edebilirsiniz.

Yani geliştirmek sizin elinizde...
 

Ekli dosyalar

Katılım
6 Mayıs 2020
Mesajlar
205
Excel Vers. ve Dili
Microsoft Office 365 E3
Altın Üyelik Bitiş Tarihi
01-10-2024
Mutlu ve Korhan Bey,

Öncelikle teşekkür ederim. Şimdi bakabildim. En kısa sürede uyarlamaya çalışıp dönüş yapacağım. İlginiz, alakanız için teşekkür eder, mutlu günler dilerim.
 
Katılım
6 Mayıs 2020
Mesajlar
205
Excel Vers. ve Dili
Microsoft Office 365 E3
Altın Üyelik Bitiş Tarihi
01-10-2024
Mutlu ve Korhan Bey,

İkisi ilede çalışabilirim. Ayırdığınız vakit için teşekkür ederim.
Uyarladığımda sıkıntı yaşamadım. Elinize sağlık, sağlıcakla kalın.
 
Üst