WedX - журнал о программировании и компьютерных науках

Кодирование массива в Excel VBA

У меня есть следующий код для удаления дубликатов в Excel:

    AlertRange.RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6, _
    7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, _
    34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49), Header:=xlNo

Это работает нормально. Но может ли быть лучший способ предоставить массив параметру «Столбцы»? То, как он кодирует, выглядит глупо.

28.01.2015

  • Array(1:49)? или Array("1:49") Не знаю, работает ли это так же, как Range() или Columns() 28.01.2015
  • @Chrismas007 - попробовал оба, но синтаксис не работает 28.01.2015

Ответы:


1

Поскольку RemoveDuplicates нужен массив Variant с отсчетом от нуля, а не Range, вы можете сделать это с помощью цикла:

Sub Macro()
    Dim ary(0 To 48)

    For i = 0 To 48
        ary(i) = i + 1
    Next i

    Range("$A$1:$BB$20").Select
    ActiveSheet.Range("$A$1:$BB$20").RemoveDuplicates Columns:=(ary), Header _
        :=xlNo
End Sub

Обратите внимание на (ary)
Это сделано для устранения очень старой ошибки VBA.

28.01.2015
  • +1 хороший момент с (ary). Для получения дополнительной информации это может быть полезно ссылка . 28.01.2015
  • @Gary'sStudent... спасибо! я делаю это небольшой процедурой для создания массива. 30.01.2015
  • Новые материалы

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


    Для любых предложений по сайту: [email protected]