Soru Kasa Defteri makro

Katılım
30 Ekim 2019
Mesajlar
29
Excel Vers. ve Dili
Excel 2016 Türkçe
Arkadaşlar merhaba, aşağıdaki gibi bir kasa defterim var. Sağolsun @YUSUF44 hocam çok yardımcı oldu buraya getirene kadar. Makroda bir eksik var ama galiba. Girenleri listeliyor, çıkanları listelemiyor.



----------------------------------------------------------------------------------------------------------------------



Makro kodu:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [D1]) Is Nothing Then Exit Sub
Set s1 = Sheets("Kasa Defteri")
eski = WorksheetFunction.Max(4, Cells(Rows.Count, "H").End(3).Row, Cells(Rows.Count, "M").End(3).Row)
songelir = WorksheetFunction.Max(5, s1.Cells(Rows.Count, "C").End(3).Row)
songider = WorksheetFunction.Max(5, s1.Cells(Rows.Count, "H").End(3).Row)

If Target = "" Then
    Range("H4:P" & eski).ClearContents
    Target.Select
    Exit Sub
Else
    Application.ScreenUpdating = False
        Range("H4:P" & 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=yes"""
        
        girenler = "select Tarih,Açıklama,Tür,Tutar from[Kasa Defteri$C4:F" & songelir & "] where [Tarih]=" & Target * 1
          
        Set rs1 = con.Execute(girenler)
        Range("H4").CopyFromRecordset rs1
        
        cikanlar = "select Tarih,Açıklama,Tür,Tutar from[Kasa Defteri$C4:F" & songelir & "] where [Tarih]=" & Target * 1
          
        Set rs2 = con.Execute(cikanlar)
        Range("M4").CopyFromRecordset rs2
    Application.ScreenUpdating = True
End If
If [M4] = "" And [H4] = "" Then
    MsgBox Format(Target, "dd/mm/yyyy") & " gününe ait kayıt bulunmamaktadır!", vbCritical
End If
End Sub
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,785
Excel Vers. ve Dili
Microsoft 365 Tr-64
cikanlar = "select Tarih,Açıklama,Tür,Tutar from[Kasa Defteri$C4:F" & songelir & "] where [Tarih]=" & Target * 1

sanki ikisi de girenleri alır.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Resimden anladığıma göre, olması gereken;

Kod:
        cikanlar = "select Tarih,Açıklama,Tür,Tutar from[Kasa Defteri$H4:K" & songider & "] where [Tarih]=" & Target * 1
.
 
Katılım
30 Ekim 2019
Mesajlar
29
Excel Vers. ve Dili
Excel 2016 Türkçe
@Haluk evet hocam o şekilde düzeldi çok teşekkür ediyorum. Size de @NextLevel
 
Üst