#excel #openoffice-calc #vba
#excel #openoffice-calc #vba
Вопрос:
Я искал способ удаления дубликатов ячеек через таблицу, оставляя только один уникальный элемент для всей таблицы.
Проблема в том, что это не список элементов (в столбце), но они распределены по таблице.
Все, что я нашел, удаляет дубликаты в столбце или с помощью транспонированной таблицы в строке. Я не нашел ничего, что могло бы удалить дубликаты в разных столбцах и строках одновременно.
Я видел, что условное форматирование для дубликатов в Excel при выборе всей таблицы приводит к форматированию каждого множественного элемента. Дело в том, что я не могу удалить все ячейки правильного формата, потому что мне нужен один элемент для каждого случая.
Как я могу это сделать? Я предполагаю, что «обычного» Excel и любого программного обеспечения для работы с электронными таблицами недостаточно, нужно ли мне использовать VBA для Excel или что-то еще?
Я также думал использовать что-то вроде MS Word для удаления дубликатов, но в элементах есть пробелы, а иногда у них есть точные «прилагательные», которые могут испортить результаты, поэтому мне нужно что-то, что может удалить целые ячейки.
Ответ №1:
Допустим, мы начинаем с такой таблицы, как:
Этот короткий макрос перебирает все ячейки в таблице и очищает ячейки, содержащие значения, которые появляются более одного раза:
Sub DupKiller()
Dim rng As Range, r As Range
Set rng = Range("A1:J21")
For Each r In rng
If Application.WorksheetFunction.CountIf(rng, r) > 1 Then r.Clear
Next r
End Sub
Процедура будет работать как с текстом, так и с числами.