Soru iki tarih arası koşullu veri çekme

TUNCA ERSİN

Altın Üye
Katılım
18 Ağustos 2021
Mesajlar
131
Excel Vers. ve Dili
Office Professional plus 2016 Tr
Altın Üyelik Bitiş Tarihi
18-08-2026
Sy. @tamer42 ;
Hocam teşekkür ederim. Elinize sağlık. Allah razı olsun.
 

Korhan Ayhan

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

Hız olarak oldukça avantaj sağlayacaktır.

C++:
Option Explicit

Sub Report()
    Dim My_Connection As Object, My_Query As String, My_Recordset As Object
    Dim S1 As Worksheet, First_Date As Variant, Last_Date As Variant, Account_Name As String
   
    Application.ScreenUpdating = False
   
    Set My_Connection = CreateObject("AdoDB.Connection")
    Set S1 = Sheets("onur")
    
    First_Date = CLng(S1.Range("K1"))
    Last_Date = CLng(S1.Range("N1"))
    Account_Name = S1.Range("J2")
    
    S1.Range("J4:M" & S1.Rows.Count).ClearContents
    
    My_Connection.Open "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" & _
    ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;Hdr=Yes"""
   
    My_Query = "Select [Fiş Tarihi],[Ek Açıklama],[Borçlu],[Alacaklı] From [Muavin$] " & _
               "Where [Fiş Tarihi] Between " & First_Date & " And " & Last_Date & " And [Hesap Adı] = '" & Account_Name & "'"
   
    Set My_Recordset = My_Connection.Execute(My_Query)
   
    S1.Range("J4").CopyFromRecordset My_Recordset
   
    If My_Recordset.State <> 0 Then My_Recordset.Close
    If My_Connection.State <> 0 Then My_Connection.Close
   
    Set S1 = Nothing
    Set My_Recordset = Nothing
    Set My_Connection = Nothing
   
    Application.ScreenUpdating = True
   
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 

TUNCA ERSİN

Altın Üye
Katılım
18 Ağustos 2021
Mesajlar
131
Excel Vers. ve Dili
Office Professional plus 2016 Tr
Altın Üyelik Bitiş Tarihi
18-08-2026
Sy. @Korhan Ayhan ;

Hocam Elinize sağlık sizden bir şey rica edebilir miyim. size zahmet olmazsa diğer sayfalara da uygulamam lazım bütün sayfalar veriyi MUAVİN sayfasından alacak genel de mantık hep aynı çalışacak. başlangıç tarih , bitiş tarih , cari sonra da altına listeleme yapacak. bunun için kodları açıklar mısınız. yada acemi birisi için uzun da olsa anlaşılır bir kod yazar mısınız. size zahmet olmazsa teşekkür ederim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,239
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Önerdiğim kod içinde aşağıdaki satırı bir sonraki satır gibi düzenlerseniz her sayfada kullanabilirsiniz.

Eski Hali;
Set S1 = Sheets("onur")

Yeni Hali;
Set S1 = ActiveSheet

Sonrasında her sayfanıza buton ekleyip kodu atayarak kullanabilirsiniz.
 

TUNCA ERSİN

Altın Üye
Katılım
18 Ağustos 2021
Mesajlar
131
Excel Vers. ve Dili
Office Professional plus 2016 Tr
Altın Üyelik Bitiş Tarihi
18-08-2026
Sy. @Korhan Ayhan ;
Hocam Çok teşekkür ederim. Allah razı olsun . elinize sağlık.
 
Üst