Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Beyin Fırtınası
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Beyin Fırtınası Bu başlıkta, ilginç olduğunu düşündüğünüz sorularınızı, bir problem şeklinde sorabilir, alternatif olduğunu düşündüğünüz çözümlerinizi paylaşabilirsiniz. (Bu başlıkta yeni konu açılması onaya bağlıdır.)
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 19-04-2007, 02:23   #1
Levent Menteşoğlu
Administrator
 
Levent Menteşoğlu kullanıcısının avatarı
 
Giriş: 13/10/2004
Şehir: Çorlu
Mesaj: 15,896
Excel Vers. ve Dili:
Excel 2010-Türkçe
Varsayılan Veri tabanından seçilen kriterlere göre sorgulama

Değerli Üyelerimiz

Aslında sorgulama konusu ile ilgili forumumuzda çok sayıda örnek mevcut, buna rağmen tüm çözümlerin birarada bulunması amacıyla bu konuyla ilgili bir soru hazırladım. VBA veya Fonksiyonlarla geliştireceğiniz çözümleri paylaşmanızı rica ederim.

Soru: Aşağıdaki resimde görüldüğü gibi toplam 50.000 satır veri içeren 5 sütunlu (A-E arası) bir veri tabanımız mevcuttur. Bu veri tabanından, G2-K2 arasındaki hücrelere yazılan kriterlere uygun veriler sorgulanarak rapor sayfasında listelenecektir. Tüm kriterlerin doldurulması zorunlu olmayacak ve sadece doldurulan kriterlere göre sorgulama yapılabilecektir.

Sorgulamada kullanılan dikkat edilecek özelliklerden önemli olan ikisi şöyledir,

1-Başlangıç tarihi eşit veya büyük, Bitiş tarihi ise eşit veya küçük şeklinde sorgulama yapılacaktır. Herhangi birisi boş ise diğerinin kriteri geçerlidir ayrıca her ikiside boş ise tüm tarihler dikkate alınacaktır.

2-Miktar, büyük veya eşit şeklinde sorgulanacaktır. Eğer boş bırakılırsa tüm miktarlar dikkate alınacaktır.



Not: Veri sayısını özellikle fazla miktarda tuttum. Bundaki amacımda tasarlanacak çözümde sorgulama hızınıda dikkate alabilmenizdir.
Eklenmiş Dosyalar
Dosya Türü: zip arama.zip (933.0 KB, 666 Görüntülenme)
__________________
FORUM KURALLARI



"Biz burada hep beraber, sevginin,saygının, alınterinin, mutluluğun makrosunu yazıyoruz. " Kaylan

Bu mesaj en son " 15-07-2010 " tarihinde saat 23:06 itibariyle Levent Menteşoğlu tarafından düzenlenmiştir.... Neden: Dosya yeniden eklendi
Levent Menteşoğlu Çevrimdışı   Alıntı Yaparak Cevapla
Eski 19-04-2007, 12:28   #2
hamitcan
Uzman
 
hamitcan kullanıcısının avatarı
 
Giriş: 01/07/2004
Mesaj: 7,052
Excel Vers. ve Dili:
Excel 2007 Türkçe
Varsayılan

Advanced filter yöntemiyle bir örnek yaptım. Yalnız burada Başlangıç ve Bitiş tarihlerini Geliş tarihi olarak değiştirmek gerekiyor.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub CommandButton1_Click()
   [b1:e50001].AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=[g1:k2], CopyToRange:=Sayfa1.[b1:e1], Unique:=False
End Sub
__________________
Yolda Yürüme Kuralları







hamitcan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 19-04-2007, 13:14   #3
Korhan Ayhan
Moderatör
 
Korhan Ayhan kullanıcısının avatarı
 
Giriş: 15/03/2005
Şehir: ANTALYA
Mesaj: 22,643
Excel Vers. ve Dili:
OFFICE 2013-2016 PRO TR
Varsayılan

Selamlar,

Bu soru için excelin yerleşik işlevlerinden filtreleme yönteminin en uygun çözüm olduğunu düşünüyorum.

Ekte bu yöntem ile ilgili çözümlemeyi bulabilirsiniz.


Uygulanan kod ve açıklamaları;

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub ÖZET_RAPOR()
    Application.ScreenUpdating = False
    Set SL = Sheets("liste")
    Set SR = Sheets("rapor")
    Kriter1 = SL.[G2]
    Kriter2 = SL.[H2]
    Kriter3 = SL.[I2]
    Kriter4 = SL.[J2]
    Kriter5 = SL.[K2]
    SR.Columns("A:E").Clear
    SL.Select
    [A1].Select
    Selection.AutoFilter
    If Kriter1 = "" Then
    Selection.AutoFilter Field:=2
    Else
    Selection.AutoFilter Field:=2, Criteria1:=Kriter1
    End If
    If Kriter2 = "" Then
    Selection.AutoFilter Field:=3
    Else
    Selection.AutoFilter Field:=3, Criteria1:=Kriter2
    End If
    If Kriter3 = "" And Kriter4 = "" Then
    Selection.AutoFilter Field:=4
    ElseIf Kriter3 <> "" And Kriter4 = "" Then
    Selection.AutoFilter Field:=4, Criteria1:=">=" & CLng(CDate(Kriter3))
    ElseIf Kriter3 = "" And Kriter4 <> "" Then
    Selection.AutoFilter Field:=4, Criteria1:="<=" & CLng(CDate(Kriter4))
    ElseIf Kriter3 <> "" And Kriter4 <> "" Then
    Selection.AutoFilter Field:=4, Criteria1:=">=" & CLng(CDate(Kriter3)), Operator:=xlAnd, Criteria2:="<=" & CLng(CDate(Kriter4))
    End If
    If Kriter5 = "" Then
    Selection.AutoFilter Field:=5
    Else
    Selection.AutoFilter Field:=5, Criteria1:=">=" & Kriter5
    End If
    SL.[A1].CurrentRegion.Copy
    SR.Select
    [A1].Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Columns("A:E").EntireColumn.AutoFit
    [A1].Select
    SL.Select
    Selection.AutoFilter
    SR.Select
    Application.ScreenUpdating = True
    SAY = WorksheetFunction.CountA(SR.[A2:A65536])
    If SAY = 0 Then
    MsgBox "VERDİĞİNİZ KRİTERLERE UYGUN KAYIT BULUNAMAMIŞTIR.", vbExclamation, "DİKKAT !"
    SL.Select
    Exit Sub: End If
    If SAY > 0 Then MsgBox "VERDİĞİNİZ KRİTERLERE UYGUN  " & Format(SAY, "#,##0") & "  ADET KAYIT BULUNMUŞTUR.", vbInformation
End Sub
 
'UYGULANAN KODUN AÇIKLAMALARI
'1. SATIR > MAKROMUZA İSİM VERİYORUZ.
'2. SATIR > İŞLEMLER YAPILIRKEN GÖZÜ YORMAMAK İÇİN EKRAN HAREKETLERİNİ PASİF YAPIYORUZ.
'3-4. SATIR > SAYFA İSİMLERİNİ KISALTILMIŞ SABİTLERE ATIYORUZ.
'5-9. SATIR > RAPOR ALMAK İÇİN KULLANILACAK HÜCRELERİNDEKİ [G2:K2] DEĞERLERİ DEĞİŞKENLERE ATIYORUZ.
'10. SATIR > RAPOR SAYFASINDAKİ DAHA ÖNCE ALINAN RAPORA AİT VERİLERİ SİLİYORUZ.
'11. SATIR > LİSTE İSİMLİ SAYFAYI SEÇİYORUZ.
'12. SATIR > LİSTE İSİMLİ SAYFANIN A1 HÜCRESİNİ SEÇİYORUZ.
'13. SATIR > DAHA ÖNCE UYGULANAN FİLTREYİ KALDIRIYORUZ.
'14-18. SATIR > LİSTE İSİMLİ SAYFADAKİ G2 (ÜRÜN ADI) HÜCRESİNİN BOŞ OLUP OLMADIĞI KONTROL EDİLİYOR.EĞER BOŞSA TÜM ÜRÜNLER RAPORA DAHİL EDİLİYOR.
'19-23. SATIR > LİSTE İSİMLİ SAYFADAKİ H2 (RENK) HÜCRESİNİN BOŞ OLUP OLMADIĞI KONTROL EDİLİYOR.EĞER BOŞSA TÜM RENKLER RAPORA DAHİL EDİLİYOR.
'24-32. SATIR > LİSTE İSİMLİ SAYFADAKİ I2 (BAŞLANGIÇ TARİHİ) VE J2 (BİTİŞ TARİHİ) HÜCRELERİNİN BOŞ OLUP OLMADIĞI KONTROL EDİLİYOR.EĞER BOŞSA TÜM TARİHLER RAPORA DAHİL EDİLİYOR.
'33-37. SATIR > LİSTE İSİMLİ SAYFADAKİ K2 (MİKTAR) HÜCRESİNİN BOŞ OLUP OLMADIĞI KONTROL EDİLİYOR.EĞER BOŞSA TÜM MİKTARLAR RAPORA DAHİL EDİLİYOR.
'38. SATIR > LİSTE İSİMLİ SAYFADAKİ KRİTERLERE UYGUN VERİLER SÜZÜLÜP SÜZÜLMÜŞ ALAN KOPYALANIYOR.
'39. SATIR > RAPOR İSİMLİ SAYFAYI SEÇİYORUZ.
'40. SATIR > RAPOR İSİMLİ SAYFANIN A1 HÜCRESİNİ SEÇİYORUZ.
'41. SATIR > KOPYALANAN VERİLER A1 HÜCRESİNDEN İTİBAREN YAPIŞTIRILIYOR.
'42. SATIR > KOPYALAMA İŞLEMİ HALA AKTİF HALDE OLDUĞUNDAN PASİF HALE GETİRİLİYOR.
'43. SATIR > RAPOR İSİMLİ SAYFADAKİ [A:E] SÜTUNLARI EN UYGUN GENİŞLİK AYARINA GÖRE AYARLANIYOR.
'44. SATIR > RAPOR İSİMLİ SAYFANIN A1 HÜCRESİNİ SEÇİYORUZ.
'45. SATIR > LİSTE İSİMLİ SAYFAYI SEÇİYORUZ.
'46. SATIR > UYGULANAN FİLTREYİ KALDIRIYORUZ.
'47. SATIR > RAPOR İSİMLİ SAYFAYI SEÇİYORUZ.
'48. SATIR > DAHA ÖNCE İŞLEMLER YAPILIRKEN GÖZÜ YORMAMAK İÇİN EKRAN HAREKETLERİNİ PASİF YAPMIŞTIK.BU İŞLEMİ TEKRAR AKTİF HALE GETİRİYORUZ.
'49. SATIR > RAPOR İSİMLİ SAYFADAKİ [A2:A65536] ARALIĞINDAKİ DOLU HÜCRELERİ SAYDIRIP SIFIR DEĞERİNE EŞİT OLUP OLMADIĞINI SORGULUYORUZ.BU DEĞERİ SAY İSİMLİ DEĞİŞKENE ATIYORUZ.
'50-51. SATIR > BU SORGU SONUCU SIFIR İSE KULLANICIYA KRİTERLERE UYGUN KAYIT OLMADIĞINA DAİR BİLGİLENDİRME MESAJI VERİYORUZ.
'52. SATIR > UYGUN KAYIT BULUNAMADIĞI İÇİN LİSTE İSİMLİ SAYFAYI SEÇİYORUZ.
'53. SATIR > SORGU SONUCU SIFIR ÇIKTIĞI İÇİN MAKROYU SONLANDIRIYORUZ.
'54. SATIR > 49. SATIRDAKİ SORGU SONUCU SIFIRDAN BÜYÜKSE KODLAR BU SATIRA OTOMATİK OLARAK GEÇECEKTİR.KULLANICIYA VERDİĞİ KRİTERLERE UYGUN KAYIT SAYISINI BELİRTEN BİLGİLENDİRME MESAJI VERİYORUZ.
'55. SATIR > MAKROMUZU SONLANDIRIYORUZ.
Eklenmiş Dosyalar
Dosya Türü: zip GÜNÜN_SORUSU_CEVAP.zip (924.8 KB, 669 Görüntülenme)
__________________
.
.
.

Soru sormadan önce forumumuzun aşağıdaki
bölümlerini incelediğinizde birçok sorunuza yanıt bulabilirsiniz.


Excel Dersanesi
Uygulamalı Excel Eğitimi
Excel İçin Örnek Uygulamalar
Video Dersane (***Altın Üyelere Özel***)

Lütfen sorularınızın çözümlendiğine dair geri dönüş mesajı yazınız...!
Lütfen yazım ve forum kurallarına uyalım...!
Lütfen sorularımızı açık ve net bir dille ifade edelim...!



FORUM KURALLARI

Bu mesaj en son " 15-07-2010 " tarihinde saat 23:08 itibariyle Levent Menteşoğlu tarafından düzenlenmiştir.... Neden: Dosya yeniden eklendi
Korhan Ayhan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 19-04-2007, 14:05   #4
AS3434
 
Giriş: 13/01/2005
Şehir: Kayseri
Mesaj: 1,823
Excel Vers. ve Dili:
M.Office/Excel 2007 Türkçe
Varsayılan

Sorunun çözümü için fonksiyonlarla biraz uğraştım ama daha 10.000. satırda dosya 13 MB'a çıktı ve hesaplama 1 dakikayı geçti. Tabi bunda seçmiş olduğum fonksiyonların ve hesaplama yönteminin de etkisi büyük. En mantıklı çözüm VBA ile yapılması.
__________________
FORUM KURALLARI

Ey Türk gençliği!
Birinci vazifen, Türk istiklalini, Türk Cumhuriyetini, ilelebet, muhafaza ve müdafaa etmektir.
Mustafa Kemal ATATÜRK

GENÇLİĞE HİTABE
AS3434 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 19-04-2007, 14:47   #5
Zeki Gürsoy
Uzman
 
Zeki Gürsoy kullanıcısının avatarı
 
Giriş: 31/12/2005
Şehir: Sakarya-Hendek
Mesaj: 3,353
Excel Vers. ve Dili:
Office 2016 (x64) - Türkçe
Varsayılan

Hem ADO hem de DAO ile yapılmış örnek.
Ek olarak sıralama kriteri ekledim.
Eklenmiş Dosyalar
Dosya Türü: zip arama2.zip (935.8 KB, 542 Görüntülenme)

Bu mesaj en son " 15-07-2010 " tarihinde saat 23:10 itibariyle Levent Menteşoğlu tarafından düzenlenmiştir.... Neden: Dosya yeniden eklendi
Zeki Gürsoy Çevrimdışı   Alıntı Yaparak Cevapla
Eski 19-04-2007, 17:10   #6
AS3434
 
Giriş: 13/01/2005
Şehir: Kayseri
Mesaj: 1,823
Excel Vers. ve Dili:
M.Office/Excel 2007 Türkçe
Varsayılan

Renk sütunu da seçeneğe dahil edilmiş, 1000 satırlık veri ile oluşmuş dosyanın, fonksiyonla yapabildiğim çözümü ekte.
Yalnız, dediğim gibi satır sayısı artınca dosya ebatları yükseliyor ve hesaplama uzun zaman alıyor.
Eklenmiş Dosyalar
Dosya Türü: zip arama1.zip (117.4 KB, 232 Görüntülenme)
__________________
FORUM KURALLARI

Ey Türk gençliği!
Birinci vazifen, Türk istiklalini, Türk Cumhuriyetini, ilelebet, muhafaza ve müdafaa etmektir.
Mustafa Kemal ATATÜRK

GENÇLİĞE HİTABE

Bu mesaj en son " 15-07-2010 " tarihinde saat 23:11 itibariyle Levent Menteşoğlu tarafından düzenlenmiştir.... Neden: Dosya yeniden eklendi
AS3434 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 19-04-2007, 23:30   #7
Necdet Yeşertener
Moderatör
 
Giriş: 04/06/2005
Şehir: Ankara
Mesaj: 11,909
Excel Vers. ve Dili:
Ofis 2003 İngilizce Ofis 2007 Türkçe Ofis 2010 Türkçe
Varsayılan

Bende birşeyler yapmaya çalıştım, amacım yanıt vermek değil, öğrenmek içindir.
Eklenmiş Dosyalar
Dosya Türü: zip ny_arama.zip (962.1 KB, 310 Görüntülenme)
__________________
Sayfada Boş Satırları Silmek:
Sütunu Seçiniz, F5, Özel, Boşluklar, Tamam,
Sağ Klik, Sil, Tüm Satır, Tamam

Türkçe'nin Bir Eksiği Yok, Ya Sizin?




Bu mesaj en son " 15-07-2010 " tarihinde saat 23:11 itibariyle Levent Menteşoğlu tarafından düzenlenmiştir.... Neden: Dosya yeniden eklendi
Necdet Yeşertener Çevrimdışı   Alıntı Yaparak Cevapla
Eski 20-04-2007, 10:27   #8
Korhan Ayhan
Moderatör
 
Korhan Ayhan kullanıcısının avatarı
 
Giriş: 15/03/2005
Şehir: ANTALYA
Mesaj: 22,643
Excel Vers. ve Dili:
OFFICE 2013-2016 PRO TR
Varsayılan

Selamlar,

Arkadaşlar eklediğim dosyada kullanıcıyı bilgilendirmek için kullandığım mesajda problem vardı. Bu hatayı giderip dosyayı güncelledim.
__________________
.
.
.

Soru sormadan önce forumumuzun aşağıdaki
bölümlerini incelediğinizde birçok sorunuza yanıt bulabilirsiniz.


Excel Dersanesi
Uygulamalı Excel Eğitimi
Excel İçin Örnek Uygulamalar
Video Dersane (***Altın Üyelere Özel***)

Lütfen sorularınızın çözümlendiğine dair geri dönüş mesajı yazınız...!
Lütfen yazım ve forum kurallarına uyalım...!
Lütfen sorularımızı açık ve net bir dille ifade edelim...!



FORUM KURALLARI
Korhan Ayhan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 20-04-2007, 11:54   #9
acemiler
 
Giriş: 31/10/2005
Mesaj: 50
Varsayılan Merhaba

Nejdet Yesersener'in verdiği cevapta veri süzülüp başka bir sayfaya aktarılıyor. Peki Aranacak veri bir satırda değilde alt alta 50 satırda değişik aranacak veriler olsa bu 50 satırdaki verileri bulup süzebilir mi? Teşekkürler
acemiler Çevrimdışı   Alıntı Yaparak Cevapla
Eski 20-04-2007, 12:07   #10
Korhan Ayhan
Moderatör
 
Korhan Ayhan kullanıcısının avatarı
 
Giriş: 15/03/2005
Şehir: ANTALYA
Mesaj: 22,643
Excel Vers. ve Dili:
OFFICE 2013-2016 PRO TR
Varsayılan

Selamlar,

Sn. acemiler sorularınızı bu başlık altına değilde makrolar kısmına bu linki ekleyerek sorarsanız daha faydalı olacaktır. Zira bu bölüme sorulan soruyla ilgili cevapların yazılması daha uygun olacaktır.
__________________
.
.
.

Soru sormadan önce forumumuzun aşağıdaki
bölümlerini incelediğinizde birçok sorunuza yanıt bulabilirsiniz.


Excel Dersanesi
Uygulamalı Excel Eğitimi
Excel İçin Örnek Uygulamalar
Video Dersane (***Altın Üyelere Özel***)

Lütfen sorularınızın çözümlendiğine dair geri dönüş mesajı yazınız...!
Lütfen yazım ve forum kurallarına uyalım...!
Lütfen sorularımızı açık ve net bir dille ifade edelim...!



FORUM KURALLARI
Korhan Ayhan Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 15:11


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Led Aydınlatma- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Palet- Çerkezköy Palet- Çorlu Prefabrik- Çorlu Sürücü Kursu- Çorlu Sandviç Panel- Şişli Avukat- Korona Test Kalemi- Çorlu Vinç- Çorlu Pimapen Tamiri- Çorlu Çelik Konstruksiyon-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden