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:

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

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