Заявление о множестве Excel VBA
VBA Set - это оператор, который используется для присвоения любого значения, ключ говорит об объекте или ссылке на переменную, мы используем эту функцию для определения параметра для определенной переменной, например, если мы напишем Set M = A, что означает теперь M ссылка имеет те же значения и атрибуты, что и A.
В VBA объект является ядром Excel, потому что без объектов мы ничего не можем сделать. Объектами являются Рабочая книга, Рабочий лист и Диапазон. Когда мы объявляем переменную, нам нужно присвоить ей тип данных, и мы также можем назначать объекты как типы данных. Чтобы присвоить значение объявленным объектным переменным, нам нужно использовать слово «SET». Слово «Set» используется для обозначения нового объекта в VBA, например, для обозначения определенного диапазона конкретного рабочего листа.
Как использовать инструкцию набора Excel VBA?
Вы можете скачать этот шаблон заявления VBA здесь - Шаблон заявления VBA Set# 1 - Оператор Set с переменными объекта диапазона
Например, предположим, что вы хотите довольно часто использовать диапазон от A1 до D5. Вместо того, чтобы писать код как Range («A1: D5») каждый раз, мы можем объявить переменную как диапазон и установить ссылку на диапазон как Range («A1: D5»)
Шаг 1. Объявите переменную как объект Range.
Код:
Sub Set_Example ()
Dim MyRange As Range
Конец подписки
Шаг 2: В тот момент, когда мы назначаем тип данных как диапазон, используйте слово «Set».
Код:
Sub Set_Example () Dim MyRange As Range Set MyRange = End Sub
Шаг 3: Теперь упомяните диапазон.
Код:
Sub Set_Example () Dim MyRange As Range Set MyRange = Range ("A1: D5") End Sub
Шаг 4: Теперь переменная MyRange равна диапазону от A1 до D5. Используя эту переменную, мы можем получить доступ ко всем свойствам и методам этого диапазона.
Мы можем копировать, добавлять комментарии в Excel и многое другое.
Например, я создал здесь несколько чисел.
Теперь, используя переменную, я изменю размер шрифта на 12.
Код:
Sub Set_Example () Dim MyRange As Range Set MyRange = Range ("A1: D5") MyRange.Font.Size = 12 End Sub
Это изменит размер шрифта назначенного диапазона.
Таким образом, мы можем делать много вещей с определенным диапазоном, используя слово «Set».
# 2 - Установить оператор с переменными объекта рабочего листа
Мы видели, как «set» работает с объектом диапазона в VBA. Он работает точно так же, как объект рабочего листа.
Допустим, у вас есть 5 листов в вашей книге, и вы хотите продолжать возвращаться к одному конкретному листу, вы можете установить это имя рабочего листа для определенной переменной объекта.
Например, посмотрите на приведенный ниже код.
Код:
Sub Set_Worksheet_Example () Dim Ws As Worksheet Set Ws = Worksheets («Сводный лист») End Sub
В приведенном выше коде переменная «Ws» определена как объектная переменная, а в следующей строке, используя слово «Set», мы устанавливаем переменную в рабочий лист с именем «Summary Sheet».
Теперь, используя эту переменную, мы можем делать все, что с ней связано. Взгляните на следующие два набора кода.
# 1 - Без «установленного» слова
Код:
Sub Set_Worksheet_Example1 () 'Чтобы выбрать лист Worksheets («Итоговый лист»). Выберите «Чтобы активировать лист Worksheets (« Summary Sheet »). Активируйте« Чтобы скрыть лист Worksheets («Summary Sheet»). Visible = xlVeryHidden »Чтобы показать лист Worksheets («Итоговый лист»). Visible = xlVisible End Sub
Каждый раз, когда я использовал объект рабочих листов для ссылки на лист «Сводный лист». Это делает код очень длинным и требует много времени для ввода.
As part of the huge code, it is frustrating to type the worksheet name like this every time you need to reference the worksheet.
Now take a look at the advantage of using the word Set in Code.
#2 – With “Set” Word
Code:
Sub Set_Worksheet_Example() Dim Ws As Worksheet Set Ws = Worksheets("Summary Sheet") 'To select the sheet Ws.Select 'To Activate the sheet Ws.Activate 'To hide the sheet Ws.Visible = xlVeryHidden 'To unhide the sheet Ws.Visible = xlVisible End Sub
The moment we set the worksheet name we can see the variable name while entering the code as part of the list.
#3 – Set Statement with Workbook Object Variables
The real advantage of the word “Set” in VBA arises when we need to reference different workbooks.
When we work with different workbooks it is so hard to type in the full name of the workbook along with its file extension.
Assume you have two different workbooks named “Sales Summary File 2018.xlsx” and “Sales Summary File 2019.xlsx” we can set the two workbooks like the below code.
Code:
Sub Set_Workbook_Example1() Dim Wb1 As Workbook Dim Wb2 As Workbook Set Wb1 = Workbooks("Sales Summary File 2018.xlsx") Set Wb2 = Workbooks("Sales Summary File 2019.xlsx") End Sub
Now variable Wb1 is equal to the workbook named “Sales Summary File 2018.xlsx” and variable Wb2 is equal to the workbook named “Sales Summary File 2019.xlsx”.
Using this variable we can actually access all the properties and methods associated with the workbook.
We can shorten the code like the below.
Without Using Set Keyword to activate the workbook:
Workbooks("Sales Summary File 2018.xlsx").Activate
Using the Set Keyword to activate the workbook:
Wb1.Activate
This makes the writing of the code lot simpler and also once the workbook name is set there is a worry of typo error of the workbook names.