VBA kullanarak önceki tarihlerdeki verileri içeren tüm hücreleri silin

Anonim

Bu yazımızda geçmiş tarihlerin verilerini silmek için bir makro oluşturacağız. Bu makro verileri kontrol eder, bugünün verilerini tutar ve önceki tarihlerdeki tüm verileri siler.

Bu örnekteki ham veriler, belirli bir tarihteki bireysel acentenin tarihi, acente adı ve satışlarından oluşur.

Makroyu çalıştırmak için “Ana” sayfadaki düğmeye tıklayın veya Alt + F8 kısayol tuşlarına basarak bile çalıştırabilirsiniz.

Makro, önceki tarihlere sahip tüm kayıtları siler. Bu makroyu 14 Aralık 2016'da çalıştırdığımız için çıktı yalnızca o tarihe ait kayıtları yansıtacaktır.

Mantıksal açıklama

Bu örnekte “RemovePreviousData” makrosunu oluşturduk. Bu makro ters FOR döngüsünü kullanır, yani döngü ters yönde çalışır. Döngü son sıradan başlar ve üst sıraya doğru hareket eder.

Ters döngü kullanmanın nedeni, normal FOR döngüsü kullanmış olsaydık, her satır silme işleminden sonra verilerde bulunan kayıtların yukarı doğru kayması ve her satır silme ile konumun değişmesiyle sonuçlanmasıdır. Buna karşı koymak için ters döngü kullandık.

Ters yönde döngü için FOR döngüsü ile birlikte Step deyimini kullandık. FOR döngüsü son satırdan başlar ve 11'e doğru dönerNS sıra.

Lütfen kod için aşağıdan takip edin

 Seçenek Explicit Sub RemovePreviousData() Dim Counter, LastRow As Integer 'Son satırın satır numarasını bulma LastRow = ActiveSheet.Range("A1").SpecialCells(xlLastCell).Row 'Son satırdan 11. satıra döngü For Counter = LastRow To 11 Adım -1 Eğer Hücreler(Sayaç, 1).Value < Date O zaman 'Satır Satırları Siliniyor(Sayaç).Delete End If Next Counter End Sub 

Bu blogu beğendiyseniz, Facebook'ta arkadaşlarınızla paylaşın. Ayrıca bizi Twitter ve Facebook'ta da takip edebilirsiniz.

Sizden haber almayı çok isteriz, işimizi nasıl geliştirebileceğimizi ve sizin için nasıl daha iyi hale getirebileceğimizi bize bildirin. E-posta sitesinde bize yazın