Excel koşullu ve kısmi veri çekme

Kısa Açıklama

Excel koşullu ve kısmi veri çekme isimli başlıkta, ilgili işlemlere dair detaylar yer almaktadır.
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Ekli dosyalar
@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
 
Geri
Üst