@berffink
Set XDd = Sheets("DATA"): Set XDl = Sheets("LISTE")
: Kodun ilerleyen bölümlerinde, her defasında Sheets("LİSTE") gibi sayfa adını yazarak işlem yaptırmak yerine sayfa isimleri yerine XDd (DATA için) ve XDl (LİSTE için) diye tanımlama yapılılor,
XDl.Range("A10:D" & Rows.Count).ClearContents
: İlk işlem olarak Liste sayfasındaki alan A10'dan itibaren boşaltılıyor,
If XDd.AutoFilterMode Then XDd.AutoFilterMode = False
:DATA sayfasında filtre uygulanmış ise filtre kaldırılıyor,
XDson = XDd.Cells(Rows.Count, 1).End(3).Row
:DATA sayfasındaki son veri satırının satır numarası tespit ediliyor,
XDd.Range("A1:D" & XDd.Cells(Rows.Count, 1).End(3).Row).AutoFilter Field:=2, Criteria1:=XDl.[D8].Text
: DATA sayfasındaki dolu alana B sütunu için LİSTE sayfası D8'e göre filtre uygulanıyor,
If XDd.Cells(Rows.Count, 1).End(3).Row > 1 Then
: Filtre sonucunda kalan veri varsa,
adet = XDd.Range("A2:A" & XDson).SpecialCells(xlCellTypeVisible).Count
: kalan satır adetinin kaç satır olduğu tespit ediliyor,
XDd.Range("A2:C" & XDson).SpecialCells(xlCellTypeVisible).Copy: XDl.[B10].PasteSpecial Paste:=xlPasteValues
:filtre sonucunda kalan veriler kopyalanıp DEĞER olarak Liste sayfasına yapıştırılıyor
XDl.Range("A10:A" & XDl.Cells(Rows.Count, 2).End(3).Row).Value = Evaluate("=ROW(10:" & adet + 10 & ")-9")
:Liste sayfası A sütununa bir anlamda =SATIR()-9 formülü gibi satır numarası verdiriliyor,
XDd.AutoFilterMode = False: Application.CutCopyMode = False
:DATA safasına uygulanan filtre kaldırılıyor.
End If