Çözüldü Farklı sayfada bulunan tarih kriterine göre veri çekme

Katılım
9 Eylül 2010
Mesajlar
855
Excel Vers. ve Dili
2016&2019&2021 TR
Altın Üyelik Bitiş Tarihi
29-09-2023
Merhabalar. Dosya içerisine de yazdım. Farklı sayfada bulunan verileri tarihe göre diğer sayfaya almak istiyorum. Sorgu sayfasında bulunan E1 hücresine yazdığım tarihi VT sayfasında arayıp eşleşenleri sorgu sayfasında listelemek istiyorum. Normal değerleri getirebiliyorum ancak tarih olunca getiremedim.

Yardımlarınız için teşekkürler.
 

Ekli dosyalar

Korhan Ayhan

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

Eğer kullandığınız sürüm FİLTRE fonksiyonunu destekliyorsa makro kullanmanıza gerek yok.

Formülü A3 hücresine uygulamanız yeterli olacaktır. Tüm sonuçlar dökülmeli olarak listelenecektir.

C++:
=FİLTRE(VT!$A:$G;VT!$E:$E=$E$1)
 
Katılım
9 Eylül 2010
Mesajlar
855
Excel Vers. ve Dili
2016&2019&2021 TR
Altın Üyelik Bitiş Tarihi
29-09-2023
Hocam maalesef sadece evde 21 var bürolarda 19 ve 16 bu nedenle filtreyi kullanamıyorum.
 

Korhan Ayhan

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

C++:
Option Explicit

Sub My_Report()
    Dim My_Connection As Object, My_Recordset As Object, My_Query As String
    
    Application.ScreenUpdating = False
 
    Set My_Connection = CreateObject("AdoDB.Connection")
    Set My_Recordset = CreateObject("ADODB.Recordset")
 
    Sheets("Sorgu").Range("A3:G" & Rows.Count).ClearContents
    
    My_Connection.Open "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" & _
    ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;Hdr=Yes;Imex=1"""
 
    My_Query = "Select * From [VT$] Where Tarih = " & CLng(Sheets("Sorgu").Range("E1").Value)
    
    My_Recordset.Open My_Query, My_Connection, 1, 1
    
    Sheets("Sorgu").Range("A3").CopyFromRecordset My_Recordset
    
    Sheets("Sorgu").Range("E3:E" & Rows.Count).NumberFormat = "dd.mm.yyyy"
    Sheets("Sorgu").Range("F3:G" & Rows.Count).NumberFormat = "hh:mm"
    Columns.AutoFit
  
    My_Recordset.Close
    My_Connection.Close
 
    Set My_Recordset = Nothing
    Set My_Connection = Nothing
 
    MsgBox "İşleminiz tamamlanmıştır"
End Sub
 
Katılım
9 Eylül 2010
Mesajlar
855
Excel Vers. ve Dili
2016&2019&2021 TR
Altın Üyelik Bitiş Tarihi
29-09-2023
My_Recordset.Open My_Query, My_Connection, 1, 1
Korhan Bey bu satırda hata veriyor. Ekstra yapmam gereken bir düzenlememi var acaba.
Yanıtınız için teşekkürler hocam.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,323
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Alternatif olarak bunu deneyin, aynı hatayı alacak mısınız ?

.
 

Ekli dosyalar

Katılım
9 Eylül 2010
Mesajlar
855
Excel Vers. ve Dili
2016&2019&2021 TR
Altın Üyelik Bitiş Tarihi
29-09-2023
Hocam farklı bir hata verdi "Can't execute code in break mode"
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,323
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
:)

Kod bir yerde hata vermiş, çalıştırmaya devam etmişiniz....

Dosyayı kapatıp, tekrar açın ve butona basın...

.
 
Katılım
9 Eylül 2010
Mesajlar
855
Excel Vers. ve Dili
2016&2019&2021 TR
Altın Üyelik Bitiş Tarihi
29-09-2023
Teşekkür ederim Haluk Bey. Reset attım her şey düzeldi.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,570
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Benim önerdiğim kodun verdiği hata mesajı nedir?
 
Katılım
9 Eylül 2010
Mesajlar
855
Excel Vers. ve Dili
2016&2019&2021 TR
Altın Üyelik Bitiş Tarihi
29-09-2023
My_Recordset.Open My_Query, My_Connection, 1, 1

Korhan Bey bu satırda hata verdi. Ama dosyayı değiştirince sizin kodunuz da çalıştı. Sanırım dosyada bir hata var. Çok teşekkür ederim.
 
Katılım
9 Eylül 2010
Mesajlar
855
Excel Vers. ve Dili
2016&2019&2021 TR
Altın Üyelik Bitiş Tarihi
29-09-2023
Değerli hocalarım tarihi diğer alanlar için nasıl düzenleyebilirim. Benim bulduğum kod 1 dakikanın üzerinde getiriyor 50 bin satırı. sizin kodlar 3-4-5 saniyede. Örneklere de baktım ama biraz uzak kalınca unutuyoruz kusura bakmayın.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,570
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
ADO uygulamalarında sayısal verileri sorgularken direkt yazabilirsiniz. Metinsel verileri sorgularke ise kriteri tek tırnak arasına almalısınız.

Örnek;

.... Where [Hesap Kodu] = 123456
.... Where [Hesap Adı] = 'Deneme'
 
Katılım
9 Eylül 2010
Mesajlar
855
Excel Vers. ve Dili
2016&2019&2021 TR
Altın Üyelik Bitiş Tarihi
29-09-2023
Hocam bildiğim bir konuydu ama uygulamada unuttum. Çok teşekkürler.
 
Katılım
9 Eylül 2010
Mesajlar
855
Excel Vers. ve Dili
2016&2019&2021 TR
Altın Üyelik Bitiş Tarihi
29-09-2023
Korhan Bey o kuralı uygulamama rağmen veriyi getiremiyorum. Dosya da mı hata var emin olamadım. Satırı düzenleyip gönderebilmeniz mümkün müdür acaba.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,570
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Hangi kritere göre neyi nereye almak istediğinizi örnek dosyanız üzerinde paylaşırsanız destek verebiliriz.
 
Katılım
9 Eylül 2010
Mesajlar
855
Excel Vers. ve Dili
2016&2019&2021 TR
Altın Üyelik Bitiş Tarihi
29-09-2023
Hocam ekledim dosyaya. Sorgu sayfası D1 de yazan personel ismini veri tabanında aratıp sorgu sayfasına çekmek istiyorum. Dosya içerisinde de açıklama mevcut.
 

Ekli dosyalar

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,323
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
C#:
    strSQL = "Select * From [VT$A2:G] Where [Personel]='" & Sheets("Sorgu").Range("D1") & "'"
.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,570
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sorgu satırı aşağıdaki gibi olmalıdır..

C++:
My_Query = "Select * From [VT$] Where Tarih = " & CLng(Sheets("Sorgu").Range("E1").Value) & " And [Personel] = '" & Sheets("Sorgu").Range("D1").Value & "'"
 
Katılım
9 Eylül 2010
Mesajlar
855
Excel Vers. ve Dili
2016&2019&2021 TR
Altın Üyelik Bitiş Tarihi
29-09-2023
Hocalarım her ikinize de teşekkür ederim. İyi ki varsınız.
 
Üst