Excel VBA Set

«Set» - это ключевое слово, используемое в программировании VBA для назначения ссылки на объект или диапазон ячеек, который останется неизменным во всей программе или коде в Excel. VBA Set в основном помогает нам избежать повторного ввода диапазона, который мы должны выбрать при выполнении кода. В Excel «Набор» в основном применяется к рабочим листам / диапазону ячеек на определенном листе.

Синтаксис:

Установить имя объекта / переменную = объект / диапазон

Примечание. Вам необходимо иметь вкладку «Разработчик» на листе Excel.

Если вы не видите вкладку «Разработчик» в Excel, выполните следующие действия:

Шаг 1: Нажмите на опцию файла .

Шаг 2: появляется выпадающий список, нажмите на вкладку « Параметры ».

Шаг 3: После того, как вы нажмете «Параметры», появится диалоговое окно, как показано ниже, и выберите параметр « Настроить ленту» .

Шаг 4: Когда мы перетаскиваем параметры настройки ленты, мы находим параметр для разработчика, нам нужно установить этот флажок, который позволит нам использовать VBA в Excel.

Как использовать набор ключевых слов в VBA?

Ниже приведены различные примеры использования ключевого слова set в Excel VBA.

Вы можете скачать этот шаблон VBA Set Excel здесь - VBA Set Excel Template

Excel VBA Set - Пример # 1

Мы возьмем простой пример ключевого слова Set в Excel VBA. Предположим, мы хотели бы выбрать диапазон и установить его в качестве фиксированного диапазона, чтобы избежать повторения. Ниже приведен диапазон ячеек, содержащий имена:

Чтобы использовать ключевое слово set в Excel VBA, выполните следующие действия:

Шаг 1: Перейдите на вкладку «Разработчик», а затем нажмите на «Visual Basic» с левой стороны (первая опция), как показано ниже.

Как только вы нажмете на него, появится новое окно, как показано ниже:

Вы заметите, что он содержит две вкладки с левой стороны, «Лист1 (Лист1)» и «ThisWorkbook». Единственное отличие состоит в «Sheet1», когда вы хотите выполнить код только для этого конкретного листа, а в «ThisWorkbook» мы можем написать код и выполнить его, который можно применить ко всей книге Excel.

Шаг 2: Дважды щелкните «Лист1 (Лист1)», и вы увидите пустой экран, на котором нам нужно написать код. Сначала объявите подмножество как Sub name и нажмите Enter, и вы увидите подмножество, созданное, как показано ниже:

Код:

 Sub setexmp () End Sub 

Это способ, которым мы создаем подмножество, и автоматически появляется «End Sub». Это по умолчанию особенность Excel. Если «End Sub» не появляется, код не будет выполнен и выдаст ошибку.

Шаг 3: Теперь мы объявим переменные, которые будут использоваться в коде.

Введите Dim имя переменной и тип переменной. Здесь имя будет похоже на идентификатор диапазона, а тип будет таким, как Integer, Long, String, Range и т. Д.

Код:

 Sub setexmp () Dim Rnst As Sub End Sub 

Здесь «Rnst» - имя переменной и присваивает (As) ее как функцию Range. Это предупредит систему о том, что будет сделан выбор диапазона.

Шаг 4: Затем введите ключевое слово «Set» и укажите диапазон, используя формат: Set variable = Range («range of cell») .

Код:

 Sub setexmp () Dim Rnst в качестве установленного диапазона Rnst = Range ("A2: A11") End Sub 

Шаг 5: Мы должны выбрать указанный диапазон строк. Следовательно, введите select как Rnst.Select См. Скриншот ниже:

Код:

 Sub setexmp () Dim Rnst в качестве установленного диапазона Rnst = Range ("A2: A11") Rnst.Select End Sub 

Шаг 6: Запустите код, нажав F5 или кнопку Run, и посмотрите результат.

Он выберет указанный диапазон от ячеек A2 до A11.

Набор Excel VBA - Пример № 2

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

Выполните следующие шаги:

Шаг 1: Теперь мы скопируем диапазон ячеек, который является столбцом имени. Введите copy, т.е. «Rnst.Copy», когда вы набираете «Rnst.», Появляется своего рода выпадающий список. Он содержит различные функции, такие как копирование, вставка и т. Д.

Шаг 2: Вы можете прокрутить вниз и выбрать желаемую функцию, которую хотите выполнить. Здесь просто введите «Копировать», как показано на скриншоте ниже:

Код:

 Sub setexmp () Dim Rnst в качестве установленного диапазона Rnst = Range ("A2: A11") Rnst.Select Rnst.Copy End Sub 

Шаг 3: Скомпилируйте код, нажав клавишу F8.

Выполнив эту функцию копирования, вы увидите, что в Excel диапазон копируется, и вокруг диапазона ячеек появляются пунктирные линии, как показано ниже:

Шаг 4: Теперь нам нужно вставить эти ячейки, скажем, в соседние столбцы один за другим, поэтому нам нужно использовать функцию цикла «For» и предположить, что нам нужно вставить 5 раз, поэтому мы напечатаем ее, как показано ниже:

Для целых чисел i = от 1 до 5 -> это указывает, сколько раз нам нужно вставить данные. Если 5, то от 1 до 5, в зависимости от того, что вы считаете предпочтительным.

Код:

 Sub setexmp () Dim Rnst в качестве заданного диапазона Rnst = Range ("A2: A11") Rnst. Выберите Rnst.Copy для i = 1 - 5 End Sub 

Шаг 5: Выберите ячейку, в которую вы хотите вставить этот диапазон ячеек. Предположим, что мы хотим начать вставку из столбца B2, а затем вставка данных должна быть динамической, то есть она должна автоматически выбирать соседние столбцы один за другим, не перекрывая друг друга. Следовательно, синтаксис будет «Ячейка (номер строки, номер столбца) .PasteSpecial».

Ячейки (2, i + 1) .PasteSpecial, Здесь 2-> представляет номер строки, а i + 1 -> представляет номер столбца. i + 1 означает, что первое значение I, объявленное в цикле «For», равно i = 1, следовательно, значение столбца станет 2, оно указывает, что оно начинает вставляться из столбца B. И по мере увеличения значения i оно будет продолжать выбирать соседние столбцы. по одному.

Код:

 Sub setexmp () Dim Rnst в качестве заданного диапазона 

Шаг 6. Введите « Next i », что означает, что вы увеличиваете значение «i» по одному, чтобы вставка столбца оставалась динамичной.

Код:

 Sub setexmp () Dim Rnst в качестве заданного диапазона 

Шаг 7: Нажмите «F8», чтобы строка за строкой выполняла код и покажет вам вставку ячейки в соседние столбцы один за другим.

Здесь вы можете увидеть значение i, равное 1, и данные были вставлены в столбец B по желанию.

Шаг 8: Теперь, когда вы снова нажмете «F8», вы увидите, что теперь значение i равно 2. Следовательно, 2 + 1 станет 3, и данные будут вставлены в ячейку (2, 3), то есть значение строки такое же, но столбец номер меняется, как показано на скриншоте ниже:

После того, как повторение цикла завершится, вы увидите, что данные вставлены 5 раз, то есть с счетчика 1 до 5, начинающего вставку из столбца B в столбец F, как показано ниже:

Набор Excel VBA - Пример № 3

Предположим, мы хотели бы показать количество ячеек в этом диапазоне в окне сообщения, появляющемся при нажатии кнопки. Мы возьмем те же данные, как показано ниже.

Также мы запустим код этого примера на новом листе. Следовательно, добавьте новый лист, и в окне VBA он будет выглядеть так:

Мы должны будем вставить опцию командной кнопки. Это особенность Excel, поэтому выполните следующие действия:

Шаг 1: Введите имя подмножества, скажем «Setcount ()», как показано на скриншоте ниже:

Код:

 Sub Setcount () End Sub 

Шаг 2: Объявите ту же переменную «Rnct», что и диапазон в подмножестве, как показано на скриншоте ниже:

Код:

 Sub Setcount () Dim Rnct As Sub End Sub 

Шаг 3: Затем введите ключевое слово «Set» и укажите диапазон.

Код:

 Sub Setcount () Dim Rnct в качестве установленного диапазона Rnct = Range ("A2: A11") End Sub 

Шаг 4: Теперь, после исправления диапазона, нам нужно увидеть всплывающее окно или диалоговое окно, показывающее количество ячеек в диапазоне. Следовательно, используйте функцию «MsgBox», которая при выполнении подсчета появится в диалоговом окне. Введите «MsgBox переменная name.count». В момент, после ввода имени переменной, затем точка (.) Появляется выпадающий список с различными функциями, и мы выбираем «count» или вручную набираем «count».

Введите «MsgBox Rnct.count» и после выполнения появится счетчик.

Шаг 5: Теперь мы хотим вставить командную кнопку, и при нажатии на эту кнопку должно появиться окно сообщения.

Нажмите «Вставить» на вкладке «Разработчик», как показано в красном поле, и вы увидите раскрывающийся список категории «Элементы управления формой». Нажмите на самую первую прямоугольную прямоугольную форму, которую нам нужно будет нарисовать вручную и вставить в лист Excel:

Шаг 6: Нажав на прямоугольник, нарисуйте и вставьте блок в лист, и как только вы начнете рисовать, появится диалоговое окно, как показано ниже. Это кнопка окна «Назначить макрос» и выберите макрос подмножества «Setcount». Нажмите «ОК».

Это означает, что мы назначили макрос для этой кнопки. И по щелчку, он будет выполнен.

Шаг 7: Появится, как показано ниже в Excel.

Шаг 8: Щелкните по нему правой кнопкой мыши и переименуйте его, используя опцию « Редактировать текст », как показано ниже:

Шаг 9: Дайте ему имя как «COUNT», и вы увидите его в Excel, как показано ниже.

Шаг 10: Затем нажмите кнопку «COUNT». После нажатия кнопки «COUNT» появится окно сообщения, как показано ниже:

Как мы видим, есть 10 имен и показали правильное число в диапазоне от А2 до А11.

То, что нужно запомнить

  • Убедитесь, что у вас есть вкладка «Разработчик», вставленная в ленты Excel для запуска этих кодов VBA.
  • «Набор» в основном применяется к рабочим листам / диапазону ячеек на определенном листе.

Рекомендуемые статьи

Это руководство по VBA Set. Здесь мы обсудим, как назначить ссылку на объект или диапазон ячеек, используя Excel VBA Set Keyword вместе с практическими примерами и загружаемым шаблоном Excel. Ниже приведены несколько полезных статей о Excel, связанных с VBA.

  1. Функция конкатенации VBA
  2. Обучающие программы по наборам иконок Excel
  3. Работа с диапазонными ячейками в VBA
  4. Решить уравнение в Excel

Категория: