Удалить все ячейки с данными предыдущих дат с использованием VBA
В этой статье мы создадим макрос для удаления данных за предыдущие даты. Этот макрос проверяет данные, сохраняет сегодняшние данные и удаляет все данные за предыдущие даты.
Исходные данные в этом примере состоят из даты, имени агента и продаж отдельного агента в эту конкретную дату.
Чтобы запустить макрос, нажмите кнопку на «Основном» листе, или его даже можно запустить, нажав сочетания клавиш Alt + F8.
Макрос удалит все записи с предыдущими датами. Поскольку мы запускаем этот макрос 14 декабря 2016 г., в выходных данных будут отражены записи только для этой даты.
[_GoBack] # Логическое объяснение В этом примере мы создали макрос RemovePreviousData. Этот макрос использует обратный цикл FOR, что означает, что цикл выполняется в противоположном направлении. Петля начинается с последнего ряда и продвигается к верхнему ряду.
Причина использования обратного цикла заключается в том, что если бы мы использовали обычный цикл FOR, то после каждого удаления строки записи, присутствующие в данных, смещались бы вверх, что приводило к изменению позиционирования при каждом удалении строки. Чтобы противостоять этому, мы использовали обратный цикл.
Мы использовали оператор Step вместе с циклом FOR для цикла в обратном направлении. Цикл FOR начинается с последнего ряда и продолжается до 11 ^ го ^ ряда.
Пожалуйста, введите код ниже
Option Explicit Sub RemovePreviousData() Dim Counter, LastRow As Integer 'Finding the row number of last row LastRow = ActiveSheet.Range("A1").SpecialCells(xlLastCell).Row 'Looping from last row to 11th row For Counter = LastRow To 11 Step -1 If Cells(Counter, 1).Value < Date Then 'Deleting the row Rows(Counter).Delete End If Next Counter End Sub
Если вам понравился этот блог, поделитесь им с друзьями на Facebook и Facebook.
Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]