У меня есть данные (имена), разложенные на листе в Excel. Он находится в столбцах от A до M. В некоторых строках есть данные в каждом столбце (A-M), в некоторых - ничего.

Я хочу извлечь список каждого уникального значения (или даже список каждого значения, а затем я могу удалить дубликаты) в диапазоне.

На всю жизнь я не могу понять, как это сделать, и не нашел в Интернете примера, который извлекает уникальные значения из RANGE, а не из одного столбца.

Любые идеи? Дайте мне знать, если вам понадобится снимок экрана с данными для большего контекста.

0
Dom Vito 19 Ноя 2018 в 20:41

2 ответа

Лучший ответ

Попробуйте этот макрос:

Sub MAINevent()
    Dim it As Range, r As Range, x0
        With CreateObject("scripting.dictionary")
            For Each it In Range("A:M").SpecialCells(2)
                x0 = .Item(it.Value)
            Next

            Set r = Cells(1, "N").Resize(.Count, 1)
            r.Value = Application.Transpose(.Keys)
        End With
End Sub

enter image description here

2
Gary's Student 19 Ноя 2018 в 18:10

Вы можете использовать Go to Special ( Ctrl + G -> Special), чтобы выбрать blanks и удалить их ( Ctrl < / kbd> + - с выделенными ячейками). Затем используйте формулу, описанную здесь, чтобы сложить все ваши столбцы в одном, друг над другом. Затем замените формулы значениями и, наконец, используйте Remove Duplicates.

1
toroc 19 Ноя 2018 в 18:07