Formüle Alternatif bir Formül yada Daha Hızlı bir formül

Katılım
19 Ocak 2012
Mesajlar
175
Excel Vers. ve Dili
Ağırlıklı olara 2003,2007,2010
Altın Üyelik Bitiş Tarihi
31.10.2023
Aşağıdaki formülü ekteki belgenin rapor sayfasında 500 satırlık bir taplo var rapor sayfasında b3 hücresinden seçim yaptığımda işleniyor %1 den 100 e kadar sayıyor. bu formülün daha hızlı çalışanı var mı acaba. İlgilenecek arkadaşllara teşekkür ediyorum.
=EĞERHATA(İNDİS(Veri!$C$1:$AD$2090;TOPLAMA(15;6;(SATIR($A$3:$A$2032)/((Veri!$B$3:$B$2090<>"")*(Veri!$B$3:$B$2090=$B$3)));SATIR($A1));KAÇINCI(D$2;Veri!$C$2:$AD$2;0));"") b
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,247
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Güzel dileklerinizi açtığınız başlıklarda değilde konu içeriğinde yazmanız daha uygun olacaktır.
 
Katılım
19 Ocak 2012
Mesajlar
175
Excel Vers. ve Dili
Ağırlıklı olara 2003,2007,2010
Altın Üyelik Bitiş Tarihi
31.10.2023

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
Aşağıdaki kodları Rapor sayfasının kod bölümüne (sayfa adına sağ tıklayıp kod görüntüle deyince açılan sayfaya) yapıştırıp deneyin. B3 hücresini değiştirdiğinizde istediğiniz verileri hızlıca listeler. Bu kadar çok veri olan dosyalarda listeleme için formül kullanılması tavsiye edilmez:

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B3]) Is Nothing Then Exit Sub
Set s1 = Sheets("Veri")
eski = WorksheetFunction.Max(3, Cells(Rows.Count, "C").End(3).Row)
son = WorksheetFunction.Max(3, s1.Cells(Rows.Count, "B").End(3).Row)

If Selection.Count > 1 Then Exit Sub

If Target = "" Then
    Range("C3:AD" & eski).ClearContents
    Target.Select
    Exit Sub
Else
    Range("C3:AD" & eski).ClearContents
    Set con = VBA.CreateObject("adodb.Connection")
    
    con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
    ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=NO"""
    
    sorgu = "select F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12,F13,F14,F15,F16,F17,F18,F19,F20,F21,F22,F23,F24,F25,F26,F27,F28 " & _
      "from[Veri$C3:AD" & son & "] where F1 = '" & Target & "'"
      
    Set rs = con.Execute(sorgu)
    Range("C3").CopyFromRecordset rs
End If
If [C3] = "" Then
    MsgBox "Veri sayfasında aranan müşteri (" & Target & ") bulunamadı", vbCritical
End If
End Sub
 
Katılım
19 Ocak 2012
Mesajlar
175
Excel Vers. ve Dili
Ağırlıklı olara 2003,2007,2010
Altın Üyelik Bitiş Tarihi
31.10.2023
Sayın Yusuf44 Teşekkür Ediyorum makrolu çözüm çok hızlı oldu. Satır Sayısı 3000 5000 olursa sorun çıkar mı acaba
 

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
Sorun çıkmaz, hatta daha fazlasında da çıkmaz muhtemelen.
 
Katılım
19 Ocak 2012
Mesajlar
175
Excel Vers. ve Dili
Ağırlıklı olara 2003,2007,2010
Altın Üyelik Bitiş Tarihi
31.10.2023
Tekrar teşekkür ediyor iyi akşamlar diliyorum
 

ckarabacak

Altın Üye
Katılım
12 Ocak 2010
Mesajlar
328
Excel Vers. ve Dili
Excel 2010
Altın Üyelik Bitiş Tarihi
10-07-2026
Sayın nurluali iyi akşamlar

Diğer bir uygulamayı aşağıda yazdığım yolu takip etmeniz halinde hızlı olacaktır. Hesaplama uzun sürmeyecektir.

excel dosyasını açalım dosyanın sol üst köşedeki dosya>seçenekler>formüller> penceresindeki sağ tarafta bulunan hesaplama seçeneğinde görülen en fazla yinelemeyi 1 olarak değiştirelim ve pencerenin altındaki tamam butonuna basalım sorun çözülmüş olacaktır.
 
Katılım
19 Ocak 2012
Mesajlar
175
Excel Vers. ve Dili
Ağırlıklı olara 2003,2007,2010
Altın Üyelik Bitiş Tarihi
31.10.2023
Sayın nurluali iyi akşamlar

Diğer bir uygulamayı aşağıda yazdığım yolu takip etmeniz halinde hızlı olacaktır. Hesaplama uzun sürmeyecektir.

excel dosyasını açalım dosyanın sol üst köşedeki dosya>seçenekler>formüller> penceresindeki sağ tarafta bulunan hesaplama seçeneğinde görülen en fazla yinelemeyi 1 olarak değiştirelim ve pencerenin altındaki tamam butonuna basalım sorun çözülmüş olacaktır.
Teşekkür ediyorumsayın ckarabacak yaptım fakat biraza daha hızlandı fakat işleniyor % yine devam ediyor. Fakat sayenizde o kısımı biliyodum fakat ne iş yatığını bu güne kadar merak etmemiştim. bir şey daha öğrenmiş oldum
 
Üst