Удаление дубликатов VBA - Array Coding - PullRequest
1 голос
/ 20 марта 2020

Я пытаюсь закодировать программу VBA, чтобы всегда удалять дубликаты на основе определенного заголовка. Поэтому я всегда хочу удалить дубликаты, в которых заголовок столбца равен «Исходный пункт назначения» и «Конечный пункт назначения», но проблема в том, что иногда они могут быть в столбце А или Е в зависимости от конфигурации данных пользователя. Это то, что, я думаю, должно работать:

Sub Macro()

    Dim columnarray As Variant
    columnarray = Range("S1:T1").Value
    ActiveSheet.Range("$A$4:$BV$75000").RemoveDuplicates Columns:=(columnarray), Header:=xlYes

End Sub

S1 содержит уравнение совпадения, которое в основном показывает, в каком столбце находится столбец «Исходное назначение». А T1 - это столбец, в котором находится заголовок конечного назначения. Должно быть что-то, что я пишу неправильно в массиве. Если S1 содержит значение 2, а ячейка T1 имеет значение 3, я думаю, что функция удаления дубликатов будет работать так же, как если бы я написал

RemoveDuplicates Columns: = Array (2,3)

Я получаю сообщение об ошибке «Недопустимый вызов процедуры или аргумент». Спасибо за вашу помощь.

1 Ответ

1 голос
/ 20 марта 2020

Возможно, просто используйте Array:

Columns:=Array(Range("S1").Value, Range("T1").Value)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...