Цитата |
---|
написал: Если там сильно больше 100 тыс. идущих после ***, то может быть быстрее на несколько секунд если переделать на коллекцию. Если там всего 120 тыс., то это вообще не проблема. |
VBA - Поиск уникальных значений ячеек в одном столбце
VBA - Поиск уникальных значений ячеек в одном столбце
VBA - Поиск уникальных значений ячеек в одном столбце
02.10.2022 11:58:03
Всем доброго дня! Помогите, пожалуйста. Я в макросах нубище, пытался где-то что-то похожее найти в интернете, и вроде как близок к верному решению, но чет не работает ничего.
Тема такая. В столбце А, начиная с 1 строки идёт перечень неких значений, например: 1, 2, 3, 4, 5, d, 7, a8, 9. В конце данного списка стоит условный разделитель, например, три звёздочки - ***. После разделителя идёт второй список значений: 2, 5, a8, 9. Необходимо сделать макрос, который сравнивал бы каждое значение из первого списка (ДО разделителя ***) со значениями из второго списка, и если эти значения уникальны, то они должны копироваться из первого спика в столбец В на ТУ ЖЕ строку, откуда были взяты. Во вложении пример файла, как должно все выглядеть. Я пытался сделать через Find, но каждый раз столбец А копируется целиком в столбец В... Идей больше нет. Помогите, пожалуйста. Один из вариантов кодов, который, как я думал, будет работать, но нет) Dim myCell As Range, i As Long i = 1 Do Set myCell = Range("A:A").Find(Cells(i, 1), Cells(i + 1, 1)) If myCell Is Nothing Then Cells(i, 1).Copy Cells(i, 2) i = i + 1 Else i = i + 1 End If Loop Until Cells(i, 1) = "***" End Sub p.s. В самих списках по отдельности повторов значений быть не может. То есть в первом списке все значения априори уникальны. Поэтому я и делал поиск по всему столбцу, но начиная с ячейки "i + 1, 1".
Изменено: |
|
|