Я не могу сказать вам, сколько раз я получал необработанные данные от какой-то программы или от кого-то, и первое, что мне нужно сделать, это удалить дубликаты из списка. Если вы окажетесь в такой же ситуации, следующий макрос вам очень поможет:

Sub DelDups()

Dim rngSrc As Range     Dim NumRows As Integer     Dim ThisRow As Integer     Dim ThatRow As Integer     Dim ThisCol As Integer     Dim J As Integer, K As Integer

Application.ScreenUpdating = False     Set rngSrc = ActiveSheet.Range(ActiveWindow.Selection.Address)



NumRows = rngSrc.Rows.Count     ThisRow = rngSrc.Row     ThatRow = ThisRow + NumRows - 1     ThisCol = rngSrc.Column

'Start wiping out duplicates     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

'Remove cells that are empty     For J = ThatRow To ThisRow Step -1         If Cells(J, ThisCol) = "" Then             Cells(J, ThisCol).Delete xlShiftUp         End If     Next J     Application.ScreenUpdating = True End Sub

Макрос работает с выделением, которое вы сделали перед его вызовом. Таким образом, если вам нужно удалить повторяющиеся ячейки из диапазона C15: C59, просто выберите этот диапазон и затем запустите макрос. Если вы выберете более одного столбца в диапазоне (например, C15: E59), то это затронет только первый столбец в диапазоне. По завершении макроса повторяющиеся ячейки удаляются, как и все пустые ячейки.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (2109) применим к Microsoft Excel 97, 2000, 2002 и 2003.