Відомості про встановлення VBA | Як призначити значення об’єктним змінним?

Заява набору Excel VBA

VBA Set - це оператор, який використовується для присвоєння будь-якому значенню ключа, який говорить про об'єкт або посилання на змінну, ми використовуємо цю функцію для визначення параметра для певної змінної, наприклад, якщо ми пишемо Set M = A, що означає M посилання має ті самі значення та атрибути, подібні до того, що має A.

У VBA об'єкт є ядром Excel, оскільки без об'єктів ми нічого не можемо зробити. Об’єкти - це Книга, Робочий аркуш та Діапазон. Коли ми оголошуємо змінну, нам потрібно призначити тип даних, і ми також можемо призначити об'єкти як типи даних. Щоб призначити значення оголошеним змінним об'єкта, нам потрібно використовувати слово “SET”. Слово “Встановити” використовувалося для позначення нового об’єкта у VBA, наприклад, посилання на конкретний діапазон конкретного робочого аркуша.

Як використовувати виписку набору Excel VBA?

Ви можете завантажити цей шаблон виписки набору VBA тут - Шаблон виписки набору VBA

# 1 - Встановити оператор із змінними об’єкта діапазону

Наприклад, припустимо, що ви хочете використовувати діапазон від A1 до D5 досить часто. Замість того, щоб писати код як діапазон (“A1: D5”) кожного разу, ми можемо оголошувати змінну як діапазон і встановлювати посилання на діапазон як діапазон (“A1: D5”)

Крок 1: Оголосіть змінну як об'єкт Range.

Код:

 Піднабір_Приклад ()

Приглушити MyRange As Range

Кінець Sub

Крок 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 ("Summary Sheet") End Sub 

У наведеному вище коді змінна “Ws” визначена як об’єктна змінна, а в наступному рядку, використовуючи слово “Set”, ми встановлюємо змінну на аркуші з назвою “Summary Sheet”.

Тепер, використовуючи цю змінну, ми можемо робити все, що з нею пов'язано. Погляньте на два нижче набори коду.

№1 - Без “Встановити” слово

Код:

 Sub Set_Worksheet_Example1 () 'Для вибору аркушів аркуша ("Підсумковий аркуш"). Виберіть "Активувати аркуші аркушів (" Зведений аркуш "). Активуйте" Щоб приховати аркуші аркушів ("Зведений аркуш"). Visible = xlVeryHidden' Для показати аркуші аркуша ("Підсумковий аркуш"). 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.