Когда вы работаете с большой таблицей данных, таблица нередко содержит дублирующуюся информацию. Чтобы обработать информацию в таблице, вы можете удалить любую из строк, которые считаете дублирующими, тем самым сократив объем информации, который вам нужно обработать.
Например, допустим, что первая ячейка каждой строки содержит номер детали. Что делать, если вы хотите удалить любые строки, в первой ячейке которых есть повторяющиеся номера деталей? Если вам нужно это решение, вам подойдет следующий макрос:
Sub DelDupRows () Dim rngSrc As Range Dim NumRows As Integer Dim ThisRow As Integer Dim ThatRow As Integer Dim ThisCol As Integer Dim RightCol As Integer Dim J как целое число, K как целое Application.ScreenUpdating = False Установить rngSrc = ActiveSheet.Range (ActiveWindow.Selection.Address) NumRows = rngSrc.Rows.Count ThisRow = rngSrc.Row ThatRow = ThisRow + NumRows — 1 ThisCol = rngS RightCol = ThisCol + rngSrc.Columns.Count — 1 ‘Начать стирание дубликатов For J = ThisRow To (ThatRow — 1) If Cells (J, ThisCol)> «» Then For K = (J + 1) To ThatRow If Cells ( J, ThisCol) = Cells (K, ThisCol) Then Cells (K, ThisCol) = «» End If Next K End If Next J ‘Удалить строки с пустыми ключевыми ячейками For J = ThatRow To ThisRow Шаг -1 Если Cells (J, ThisCol) = «» Then Range (Cells (J, ThisCol), _ Cells (J, RightCol)). Удалить xlShiftUp End If Next J Application.ScreenUpdating = TrueEnd Sub
Макрос работает на селек Сделайте это перед тем, как называть его. Таким образом, если вам нужно удалить повторяющиеся строки из диапазона D7: G85, просто выберите этот диапазон и затем запустите макрос. Он удаляет дубликаты из диапазона D7: D85, а затем удаляет все строки в D7: G85 (четыре столбца в строке), для которых ячейка в столбце D пуста.
Источник: