• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Tarihe göre veri çekme ve sıralama

Turgay KARAŞAH

Altın Üye
Katılım
21 Mayıs 2009
Mesajlar
142
Excel Vers. ve Dili
Microsoft Office LTSC Pro Plus 2021 Türkçe sürüm
Öncelikle üye arkadaşlara sevgi saygılar. Kod yazılımında hiç anlamıyorum. Yusuf44 kardeşimin geçenlerde yazmış olduğu kodu uyarlamak istedim fakat yapamadım. Yapmak isteğim ve yapamadığım konu şu; A1 hücresine yazdığım tarih Örneğin; NİSAN 20 , MART 19 veya OCAK 18 yazdığımda BAĞLAMA KÜTÜĞÜ sayfasında "S" sütununda ki A1 hücre kriterinde olan tarihleri doğru sıralasın. (Kodsuz olur ise daha makbule geçer).Teşekkürler.
 

Ekli dosyalar

Listeleme sayfasında A1 hücresinde her ne kadar Ocak 20 yazıyor olsa da ordaki değer 01.01.2020'dir ve bunu formül çubuğunda görebilirsiniz. Yapmak istediğiniz tüm Ocak 2020 olanları mı listelemek yoksa 01/01/2020 olanları mı listelemek?
 
İlgilendiğiniz için tekrar teşekkür ederim. Evet Yusuf bey tüm OCAK 20 vaya Mayıs 20 vb.
 
Bu arada eski kodunuzda sutun "s" olarak değiştirdim, hücre biçimlerdirde tarih "Haziran 20" yaptım. Sonuç başarısız oldu
 
Aşağıdaki kodu deneyin:

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1]) Is Nothing Then Exit Sub
Set s1 = Sheets("BAĞLAMA KÜTÜĞÜ")
eski = WorksheetFunction.Max(3, Cells(Rows.Count, "S").End(3).Row)
son = WorksheetFunction.Max(7, s1.Cells(Rows.Count, "S").End(3).Row)

If Selection.Count > 1 Then Exit Sub

If Target = "" Then
    Range("A3:X" & eski).ClearContents
    Target.Select
    Exit Sub
Else
    Range("A3:X" & 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 " & _
      "from[BAĞLAMA KÜTÜĞÜ$] where year(F19) = " & Year(Target) & " and month(F19) = " & Month(Target)
      
    Set rs = con.Execute(sorgu)
    Range("A3").CopyFromRecordset rs
End If
If [S3] = "" Then
    MsgBox "Bağlama Kütüğü sayfasında aranan tarih bulunamadı", vbCritical
End If
End Sub
 
Üstadım kodu esas dosya sayfasına kopyaladım. sonuç bu veri gelmedi. Zahmet verdim.
 
Örnek dosyanızda hata vermiyor, dosyayı hatalı haliyle görmeden bir şey diyemem.
 
Bağlama kütüğü sayfasında bazı hücrelerdeki tarihler hatalı. Örneğin 29/02/2021, 16..01 gibi tarihler var. o tarihleri düzeltin. Hatalı olan tarihleri görmek için o sütunda filtre uygulayıp filtre menüsünü açtığınızda listenin en altında yıllara ayrılmamış tarihler ve boş tarihler olarak göreceksiniz. Hatalı tarihleri düzeltin ve boş tarihleri doldurun. Boş olan hücrenin satırı gereksizse silin. ayrıca S sütununda ilk 5 satırda metinsel ifadeler var, onları da silin.

Aslında excel mantığında bağlama Kütüğü sayfasındaki ilk 5 sayfanın olmaması, birinci satırın başlıklar olup, altındakilerin de düzenli bir veritabanı olması daha doğru olur. Mümkünse tablonuzu bu hale dönüştürmenizi tavsiye ederim.
 
Yusuf kardeş verdiğiniz emekten dolayı tekrar tekrar sonsuz teşekkürlerimi sunarım. Ailenizle ömür boyu sağlıklı günleriniz olsun. Bu arada siz mesaj atmadan önce sorunu şöyle çözdüm. Öncelikle kod dan anlamam, kod da sorun yok. ŞÖYLE ÇÖZDÜM; Veri çekeceğim sayfa ile kod sayfanının tarih sütunlarını HÜCRE BİÇİMLENDİR den Tarih sekmesinde Mart 12 seçtim veriler geldi. Daha sonra bu tarih sütunlarını yine Hücre biçimlendir den tarih 14.03.12 seçtim ve gayet iyi çalışıyor. Hoşça kalın.
 
Geri
Üst