Изтрийте всички клетки с данни от предишни дати, използвайки VBA

Anonim

В тази статия ще създадем макрос за изтриване на данни от предишни дати. Този макрос проверява данните, запазва днешните данни и изтрива всички данни от предишни дати.

Суровите данни в този пример се състоят от дата, име на агент и продажби на отделния агент на тази конкретна дата.

За да стартирате макроса, щракнете върху бутона на листа „Основен“ или дори можете да го стартирате, като натиснете клавишни комбинации Alt + F8.

Макросът ще изтрие всички записи с предишни дати. Докато изпълняваме този макрос на 14 декември 2016 г., резултатът ще отразява записи само за тази дата.

Логично обяснение

В този пример създадохме макрос „RemovePreviousData“. Този макрос използва обратен цикъл FOR, което означава, че цикълът протича в обратна посока. Цикълът започва от последния ред и се придвижва към горния ред.

Причината за използването на обратен цикъл е, че ако бяхме използвали нормален цикъл FOR, след всяко изтриване на ред, записите, присъстващи в данните, щяха да се изместят нагоре, което води до промяна на позиционирането с всяко изтриване на ред. За да противодействаме на това, използвахме обратен цикъл.

Използвахме оператора Step заедно с цикъла FOR за циклиране в обратна посока. Цикълът FOR започва от последния ред и се завърта към 11th ред.

Моля, следвайте кода по -долу

 Опция Explicit Sub RemovePreviousData () Dim Counter, LastRow As Integer 'Намиране на номера на реда на последния ред LastRow = ActiveSheet.Range ("A1"). SpecialCells (xlLastCell) .Row' Цикъл от последния ред до 11 -ти ред за Counter = LastRow To 11 Стъпка -1 Ако клетки (брояч, 1). Стойност <Дата след това> Изтриване на реда редове (брояч). 

Ако този блог ви е харесал, споделете го с приятелите си във Facebook. Също така можете да ни следвате в Twitter и Facebook.

Ще се радваме да чуем от вас, уведомете ни как можем да подобрим работата си и да я направим по -добра за вас. Пишете ни на имейл сайта