Makro da Topla.Çarpım formülü

Katılım
22 Temmuz 2006
Mesajlar
186
Excel Vers. ve Dili
2003
Arkadaşlar herkese kolay gelsin.

TOPLA.ÇARPIM((Sayfa1!A2:A3000=Sayfa2!A2)*(Sayfa1!C2:C3000)) Bu Formülü sayfa2 de f2:F3000 kadar tüm satıra yazıyorum ve sayfa çok yavaşlıyor. Bende bunu makro ile yapmak istiyorum .

Yardımlarınızı bekliyorum .
 

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

Aşağıdaki kodları kendinize göre uyarlayınız.
veya örnek bir dosya ekleyiniz.

Kod:
Sub TOPLACARP()
satır = Sheets("SAYFA1").Cells(65536, 1).End(xlUp).Row
For A = 2 To satır
SEC1 = sheets("sayfa2").Cells(A, 1)
Sheets("SAYFA2").Cells(A, 6) = Evaluate("SUMPRODUCT((SAYFA1!A2:A3000=""" & SEC1 & """)*(SAYFA1!C2:C3000))")
Next

End Sub
 
Son düzenleme:

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

İkinci bir alternatif


Kod:
Sub topla()
Set s1 = Sheets("sayfa1")
Set s2 = Sheets("sayfa2")

For y = 1 To s2.Cells(65536, 1).End(xlUp).Row
sayac = 0

For i = 1 To s1.Cells(65536, 1).End(xlUp).Row

If s2.Cells(y, 1) = s1.Cells(i, 1) Then
say = s1.Cells(i, 3)
sayac = sayac + say
End If

Next
s2.Cells(y, 5) = sayac
Next

End Sub
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
Sayın Zafer

Bende toplaçarpım kullanarak başka bir dış dosyadan veri alıyorum. Yalnız veri aldığım dosya kapalı olunca formülü yazdığım hücreler BAŞV! hatası veriyor, nasıl düzeltebilirim acaba????
 

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


Hatanın sebebi veri aldığınız dosyayı bulamamasından geliyordur.Veri aldığınız dosyanın ismini değiştirdinizmi.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bende toplaçarpım kullanarak başka bir dış dosyadan veri alıyorum. Yalnız veri aldığım dosya kapalı olunca formülü yazdığım hücreler BAŞV! hatası veriyor, nasıl düzeltebilirim acaba????
Düzeltemezsiniz çünkü TOPLA.ÇARPIM fonksiyonu kapalı dosyalarda çalışmaz.
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
Cevaplarınız için sağolun. Bu cevap beni biraz üzdü, istediğimi yapamadım çünkü.Toplaçarpımın mantığında çalışıpda kapalı bir excel dosyasından veri alabilmemin bir yolu var mı acaba???
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Cevaplarınız için sağolun. Bu cevap beni biraz üzdü, istediğimi yapamadım çünkü.Toplaçarpımın mantığında çalışıpda kapalı bir excel dosyasından veri alabilmemin bir yolu var mı acaba???
VBA ile yapılır elbette, ama fonksiyonlarla yapılabilirmi bunu söylemek için dosyanızı eklemeniz gerekir.
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
Sayın leventm

Dosyayı ekledim. Yalnız eklediğim dosyadaki varolan "Data" sayfasını, bu dosyadan ayırıp yeni bir kitap olarak kaydettim.Bu şekilde dosya boyutunu azalttım. Ama daha öncede belirttiğim gibi Data.xls kapalı olunca toplaçarpım çalışmıyor.Bu konuda yardımlarınızı bekliyorum, şimdiden ilginize teşekkürler...
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
Merhaba Arkadaşlar

Kapalı dosyadan VBA ile veri çekme konusunda tıkandım kaldım, lütfen yardım ediiiinnnn!!!????
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
????

Arkadaşlar yardım eden yokmu?
 
Katılım
17 Haziran 2006
Mesajlar
245
Excel Vers. ve Dili
Office 2010
English
Elimde bir fonksiyon var.. Bulunca sizle paylaşacağım :(

--Kullandığım fonksiyon, kapalı dosyadan DÜŞEYARA imiş :(---
Yardımcı olamadım üzgünüm..
 
Son düzenleme:

Korhan Ayhan

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

Bu işlem için şu şekilde çözüm işinize yarayabilir. Bu iki dosyayı aynı klasör içine yerleştirin. Daha sonra "Liste" isimli sayfanıza bir buton ekleyip bu butona bastığınızda "Data" isimli dosyayı açıp verileri makro ile alıp dosyayı tekrar kapatabilirsiniz. Belki size fikir verebilir.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
İstediğiniz için önce dosyayı açan kodlar ilave edilir sonrada veriler alınır ve dosya tekrar kapatılır. Aşağıdaki linkte böyle bir örnek mevcuttur, inceleyin. Eğer netice almazsanız tekrar üzerinden gideriz.

http://www.excel.web.tr/showthread.php?t=19453
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
Merhaba arkadaşlar

Çalıştığım sisteme göre çalışan dosya prototipini ekledim. İçinde tüm açıklamalar var. Benim yapmak istediğim kapalı bir dosyadan toplaçarpımla veya eşdeğer bir fonksiyonla tanımlı alanlara istediğim verileri süzmek. Ama dosya kapalı olduğundan BAŞV# hatasıyla karşılaşıyorum. Ama şöylede bir durum var. Veri alacağım dosya açık bile olsa boyutu çok büyük olduğundan (3,5-4 MB) toplaçarpım hesaplama yaparken dosya kilitlenebiliyor.Toplaçarpım formülünü makro ile kullanmak istemekteki amacım daha hızlı çalışmayı sağlayabilmekti.Eğer bunun daha başka yolları varsa (ki sizden yardım isteme amacım bu konudaki görüşlerinizi almaktı) bunları hayata geçirmek.Haluk beyin veritabanı ile ilgili yazılarını inceledim, ancak hepsi userform üzerinden dbaseye kayda yönelik çalışmalardı. Benim dosyamda ise bir userform kullanımı yok. Buna yönelik bir çalışma forumda bulamadım.

Umarım yeterli bilgi verebilmişimdir, yardımlarınız için şimdiden teşekkür ederim.
 
Son düzenleme:

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
Sayın Moderatörlerim, Arkadaşlarım

Çok mu zor birşey sordum acaba? Yukarıda anlattığım olayın yapılabilmesi mümkün mü acaba? Eğer değilse aynı mantıkta başka bir yol önerebilirmisiniz?
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
Bu dosyanızda bir Pivot Table (Özet Tablo) ile verilerinizi çekin. O zaman hacmi büyük olan veri dosyanızı açmadan verileri özet olarak almış olacaksınız. Sonra gerekiyorsa bu özet verilerle formüllerinizi oluşturun.

Dosyalarınızın birer küçük örneklerini ekleyebilirseniz belki üzerinden gitmek mümkün olabilir.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Çok mu zor birşey sordum acaba? Yukarıda anlattığım olayın yapılabilmesi mümkün mü acaba? Eğer değilse aynı mantıkta başka bir yol önerebilirmisiniz?
Sn ockucukay

Sorunuzun cevabı zor değil ama dosyanızdaki bilgiler yetersiz, öncelikle veri alınacak dosyanında küçük bir örneğini ekleyip, hangi sütuna hangi veri hangi kriterlere göre alınacaktır. Dosyanızdaki formüllerden mantığı bizlerin anlaması çok kolay değil. Bu detayları verirseniz çözüm bulmak kolaylaşacaktır.
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
Merhaba Arkadaşlar

İstediğiniz gibi dosyaları ekledim.Sayın yurttaşın söylediği pivot table olayınıda deneyeceğim. İlginize çok teşekkür ederim, cevaplarınızı bekliyorum..
 

ockucukay

Altın Üye
Katılım
29 Aralık 2005
Mesajlar
862
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
02-07-2025
Sayın yurttaşın söylemiş olduğu pivot table olayını denedim, tüm verileri birden çektiği için dosya boyutu çok büyük oldu ve yine kilitlendi. Buna paralel olarak benim aklıma başka bir yol geldi. Acaba ana sayfada verdiğim süzme kriterlerine göre verileri sql databaseden otomatik olarak çekebilecek bir pivot table yapılabilirmi?

Örnek: Parça no, Bölüm adı, Başlangış tarihi ve Bitiş tarihi verildiği zaman (mesela bir şarta bağlı bir makro çalışmış olsun) makro çalışacak ve ilgili şartları sağlayan bir pivot table oluşturacak. Böylece dosya gereksiz verilerle şişmemiş olacak.

Böyle birşey yapılabilir mi arkadaşlar, bu konuda yardımlarınızı bekliyorum.
 
Üst