Yazdığım fonksiyon çalıştığında çok zaman alıyor...

Katılım
4 Haziran 2007
Mesajlar
8
Excel Vers. ve Dili
2003 Türkçe
Merhaba arkadaşlar,

Yazdığım fonksiyon çok uzun bir sürede copy pase oluyor.
Sütünbazlı kopyalama yaptığımda ise bilgisayar kitleniyor.
fonksiyon metni;


Kod:
Sub AyToplaAciklama()
Application.MacroOptions Macro:="AyTopla", Description:="Alan: Tarihlerin bulunduğu sütün seçilmeli" & Chr(10) & "HangiTarih1,2: Hangi Tarih aralığında istiyorsunuz" & Chr(10) & "Tarihi (tırnak) içinde yazınız veya tarihi içeren hücreyi seçiniz"
End Sub
' AyTopla Makro
' Makro Papyrux tarafından 21.07.2008 tarihinde kaydedildi.
Function AyTopla(Alan As Range, HangiTarih1 As Date, HangiTarih2 As Date, HangiStokKodu As String) As Currency
Dim rng As Range
For Each rng In Alan
If rng >= HangiTarih1 And rng <= HangiTarih2 And rng.Offset(0, 1) = HangiStokKodu Then
AyTopla = AyTopla + rng.Offset(0, 4)
End If
Next rng
End Function
Birde bu dosyayı açarken makroları etkinleştir dediğimde dosya kitlenip açılmıyor.

tarama yaptığı veri aralığı 1600
başvuru aralığı'da 1600 satırdan oluşuyor.
dolayısıyla yoğun bir taramayapıyor bu kod.

bunun daha donanım dostu bir yolu yok mudur?
 

Korhan Ayhan

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

Yapt&#305;&#287;&#305;n&#305;z i&#351;lem kullan&#305;c&#305; tan&#305;ml&#305; fonksiyon yerine belki yerle&#351;ik fonksiyonlarla halledilebilir. E&#287;er &#246;rnek dosya eklerseniz yard&#305;mc&#305; olabiliriz.
 
Katılım
4 Haziran 2007
Mesajlar
8
Excel Vers. ve Dili
2003 Türkçe
Korhan Bey,

yerleşik fonksiyon tanımlama ilee ilgili bir örnek yönlendirme yaparsanız sevinirim.
Dosya fazlaca yüklü şu an ne kopyalanıyor nede işlem yapılıyor.
Sürekli olarak çalışıyor durumda ve bazen excel çalışma hatasına sebep oluyor.

Modul içine yadığım (yukarıdaki kodu) silersem rahatlıyor.

Tarih ve stok kodu kıstlarıyla stokların ay bazında toplamlarını almak istiyorum.
Bu sebepten ETOPLA(), EĞER(ve()) gibi fonksiyonlar işe yaramadı açıkçası.

Yapabilirsem bir örnek dosya koymaya çalışacağım.

sanıyorum başka yolu yok?

Teşekkürler
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
Korhan Bey,

yerleşik fonksiyon tanımlama ilee ilgili bir örnek yönlendirme yaparsanız sevinirim.
Dosya fazlaca yüklü şu an ne kopyalanıyor nede işlem yapılıyor.
Sürekli olarak çalışıyor durumda ve bazen excel çalışma hatasına sebep oluyor.

Modul içine yadığım (yukarıdaki kodu) silersem rahatlıyor.

Tarih ve stok kodu kıstlarıyla stokların ay bazında toplamlarını almak istiyorum.
Bu sebepten ETOPLA(), EĞER(ve()) gibi fonksiyonlar işe yaramadı açıkçası.

Yapabilirsem bir örnek dosya koymaya çalışacağım.

sanıyorum başka yolu yok?

Teşekkürler

Veri yoğunluğu fazla olan durumlarda Pivot Table - Özet Tablo kullanmanızı öneririm.

.
 

Korhan Ayhan

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

Sanırım sizin işinize TOPLA.ÇARPIM fonksiyonu yarayacaktır. Ekteki örnek dosyayı incelermisiniz.
 

Korhan Ayhan

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

Sn. yurttas beyin &#246;nerdi&#287;i gibi &#246;zet tablo kullanman&#305;zda h&#305;z a&#231;&#305;s&#305;ndan b&#252;y&#252;k katk&#305; sa&#287;layacakt&#305;r.
 
Katılım
4 Haziran 2007
Mesajlar
8
Excel Vers. ve Dili
2003 Türkçe
Say&#305;n Korhan bey, ve @yurttas

Y&#246;nlendirmeleriniz &#231;ok yard&#305;mc&#305; oldu. &#231;ok te&#351;ekk&#252;r ederim.
TOPLA.&#199;ARPIM() denemi&#351;tim fakat bir an oldu san&#305;r&#305;m ()*() kriterini atlam&#305;&#351;&#305;m.
Topla.&#199;arp ile &#231;ok h&#305;zl&#305; &#231;&#246;zd&#252;m sorunu.

Fakat Pivot Table konusunu ara&#351;t&#305;raca&#287;&#305;m. Daha &#246;nce hi&#231; kullanmad&#305;m.

Tekrar te&#351;ekk&#252;rler
 
Üst