Excel VBA Set

„Задаване“, е ключова дума, използвана в програмирането на VBA за задаване на препратка към обект или диапазон от клетки, който ще остане поправен в цялата програма или код в Excel. VBA Set основно ни помага да избягваме повтарящото се въвеждане на диапазон, който трябва да изберем, докато изпълняваме кода. В отличие, „Set” се прилага най-вече върху работни листове / диапазон от клетки в определен лист.

Синтаксис:

Задаване на име на обект / променлива = Обект / обхват

Забележка: Трябва да имате раздел за програмисти в работния лист на excel.

Ако не виждате раздела „Програмист“ в excel, вижте стъпките по-долу:

Стъпка 1: Щракнете върху опция за файл .

Стъпка 2: Появява се падащото меню, щракнете върху раздела Опции .

Стъпка 3: След като щракнете върху „Опции“, се появява диалогов прозорец, както е показано по-долу, и кликнете върху опцията Персонализиране на лентата .

Стъпка 4: Когато плъзнем надолу в опциите за персонализиране на лентата, ще намерим опция за Developer, трябва да поставим отметка в това поле, което ще ни позволи да използваме VBA в excel.

Как да използвам зададена ключова дума в VBA?

По-долу са различните примери за използване на зададена ключова дума в Excel VBA.

Можете да изтеглите този шаблон на VBA Set Excel тук - VBA Set Excel шаблон

Excel VBA Set - пример №1

Ще вземем прост пример за ключова дума Set в Excel VBA. Да предположим, че бихме искали да изберем диапазон и да го зададем като fix range, за да избегнем повторението. По-долу е диапазонът от клетки, съдържащ имената:

Следвайте стъпките по-долу, за да използвате зададена ключова дума в Excel VBA:

Стъпка 1: Кликнете върху раздела „Developer“ и след това кликнете върху опцията „Visual Basic“ от лявата страна (първа опция), както е показано по-долу.

След като щракнете върху него, се появява нов прозорец, както е показано по-долу:

Ще забележите, че тя съдържа два раздела от лявата страна, „Sheet1 (Sheet1)“ и „ThisWorkbook“. Единствената разлика е „Sheet1“, когато искате да изпълните код само за този конкретен лист и в „ThisWorkbook“ можем да напишем код и да изпълним, който може да се приложи за цялата работна книга на excel.

Стъпка 2: Кликнете два пъти върху „Sheet1 (Sheet1)“ и ще видите празен екран, където трябва да напишем кода. Първо декларирайте подмножество като под име и натиснете Enter и ще видите подмножество, създадено, както е показано по-долу:

Код:

 Sub setexmp () Край Sub 

По този начин създаваме подмножество и автоматично се появява „End Sub“. Това е по подразбиране функция на excel. Ако не се появи „End Sub“, кодът няма да се изпълни и ще изведе грешка.

Стъпка 3: Сега ще декларираме променливи, които да се използват в кода.

Въведете име на променлива Dim и тип на променлива. Тук името ще е като идентичността на диапазона и типът ще бъде дали като цяло число, дълъг, низ, диапазон и т.н.

Код:

 Sub setexmp () Dim Rnst As Range End Sub 

Тук “Rnst” е име на променлива и я присвоява (As) като функция за обхват. Това ще предупреди системата, че ще бъде направен избор на обхват.

Стъпка 4: След това въведете ключова дума „Задаване“ и дайте диапазон, използвайки формата: Задайте променлива = Обхват („обхват на клетките“) .

Код:

 Sub setexmp () Dim Rnst като диапазон набор Rnst = обхват ("A2: A11") край Sub 

Стъпка 5: Трябва да изберете посочения диапазон от редове. Следователно, въведете select като Rnst.Select Снимка на препратката по-долу:

Код:

 Sub setexmp () Dim Rnst като диапазон набор Rnst = обхват ("A2: A11") Rnst.Избор на крайната под 

Стъпка 6: Стартирайте кода, като натиснете F5 или Run бутона и вижте изхода.

Той ще избере диапазона, посочен от клетки A2 до A11.

Excel VBA Set - Пример №2

Да предположим, че искаме да поставим тези клетки или диапазон в друга клетка. Ще използваме същия код като по-горе и ще добавим код за поставяне на тези данни в множество колони.

Изпълнете следните стъпки:

Стъпка 1: Сега ще копираме диапазона от клетки, който е колоната с име. Въведете копие, т.е. „Rnst.Copy“, когато въвеждате „Rnst.“ Се появява вид падащо меню. Той съдържа различни функции като копиране, поставяне и т.н.

Стъпка 2: Можете да превъртите надолу и да изберете желаната функция, която искате да изпълнявате. Тук просто напишете „Копиране“, както е показано на екрана по-долу:

Код:

 Sub setexmp () Dim Rnst като набор от диапазон Rnst = обхват („A2: A11“) Rnst.Избор Rnst.Copy End Sub 

Стъпка 3: Компилирайте кода, като натиснете клавиша F8.

След като изпълните тази функция за копиране, ще видите, че диапазонът в excel се копира и около точките на клетката се появяват пунктирани линии, както е показано по-долу:

Стъпка 4: Сега трябва да залепим тази клетка, да речем в съседни колони една по една, така че трябва да използваме цикълна функция „За“ и да предположим, че 5 пъти трябва да я залепим, така че ще я напишем, както е показано по-долу:

За Integer i = 1 до 5 -> това указва колко пъти трябва да поставим данните. Ако 5, тогава 1 до 5, което и да е, което предпочитате.

Код:

 Sub setexmp () Dim Rnst като набор от диапазон Rnst = обхват („A2: A11“) Rnst.Избор Rnst.Copy за i = 1 до 5 край Sub 

Стъпка 5: Изберете клетка, в която искате да поставите тази гама от клетки. Да предположим, че искаме да започнем да вмъкваме от колона B2 и след това поставянето на данните трябва да е динамично, т.е. трябва автоматично да избира съседни колони една по една, без да се припокрива. Следователно, синтаксисът ще бъде „Cell (номер на реда, номер на колоната) .PasteSpecial“.

Клетки (2, i + 1) .PasteSpecial, Тук, 2-> представлява номера на реда и, i + 1 -> представлява номер на колоната. i + 1 означава, че първата стойност на деклариран в цикъл „For“ е i = 1, следователно стойността на колоната ще стане 2, тя указва, че започва да се вмъква от колона B. И както и когато стойността се увеличава, ще продължава да избира съседни колони един по един.

Код:

 Sub setexmp () Dim Rnst като набор от диапазон Rnst = обхват („A2: A11“) Rnst.Изберете Rnst.Copy за i = 1 до 5 клетки (2, i + 1) .PasteSpecial xlValues ​​End Sub 

Стъпка 6: Въведете „ Next i “, което означава, че увеличавате стойността на „i“ една по една, така че поставянето на колоните да остане динамично.

Код:

 Sub setexmp () Dim Rnst като набор от диапазон Rnst = обхват („A2: A11“) Rnst.Избор Rnst.Copy за i = 1 до 5 клетки (2, i + 1) .PasteSpecial xlValues ​​Next i End Sub 

Стъпка 7: Натиснете „F8“, за да видите изпълнението на кода ред по ред и ще ви покаже поставяне на клетка в съседни колони една по една.

Тук можете да видите стойността на i е 1 и данните са поставени в колона Б по желание.

Стъпка 8: Сега, когато натиснете отново „F8“, ще видите, че сега стойността на i е 2. Следователно, 2 + 1 ще стане 3 и данните ще бъдат поставени в клетка (2, 3), т.е. стойността на реда е същата, но колоната промени в броя, както е показано на екрана по-долу:

След като повторението завърши цикъл, ще видите данните, поставени 5 пъти, т.е. от броене 1 до 5, започващи да се поставят от колона Б до колона F, както е показано по-долу:

Excel VBA Set - пример №3

Да предположим, че бихме искали да покажем брой на клетките в този диапазон в поле за съобщения, което се появява при натискане на бутон. Ще вземем същите данни, както са показани по-долу.

Също така ще пуснем кода на този пример в новия лист. Следователно, добавете нов лист и в прозореца на VBA ще се появи както по-долу:

Ще трябва да вмъкнем опция за команден бутон. Това е функция на excel, така че следвайте стъпките по-долу:

Стъпка 1: Въведете име на подмножеството, кажете „Setcount ()“, както е показано на екрана по-долу:

Код:

 Sub Setcount () Край Sub 

Стъпка 2: Декларирайте същата променлива „Rnct“ като диапазон в подмножеството, както е показано на екрана по-долу:

Код:

 Sub Setcount () Dim Rnct като диапазон край Sub 

Стъпка 3: След това напишете ключова дума „Задаване“ и дайте диапазон.

Код:

 Sub Setcount () Dim Rnct като набор от диапазон Rnct = обхват („A2: A11“) край Sub 

Стъпка 4: След като коригираме диапазона, трябва да видим изскачащо поле или диалогов прозорец, показващ броя на клетките в диапазона. Следователно използвайте функцията “MsgBox”, която при изпълнение броенето ще се появи в диалоговия прозорец. Въведете „MsgBox променлива name.count“. Моментът след въвеждането на името на променливата тогава точка (.) Се появява падащо меню, съдържащо различни функции, и ние ще изберем „count“ или ръчно въведете „count“.

Въведете „MsgBox Rnct.count“ и при изпълнение ще се появи брой.

Стъпка 5: Сега искаме да вмъкнем команден бутон и при натискане на този бутон това поле за съобщение трябва да се появи.

Кликнете върху „Вмъкване“ в раздела „Програмист“, както е подчертано в червеното поле и ще видите падащо меню на категория „Контроли на формуляри“. Кликнете върху първата форма на кутия, подобна на правоъгълник, която ще трябва да нарисуваме ръчно и да я вмъкнем в лист excel:

Стъпка 6: След като щракнете върху кутията с правоъгълник, нарисувайте и поставете кутията в лист и след като започнете да рисувате, се появява диалогов прозорец, както е показано по-долу. Това е бутон на прозореца „Присвояване на макрос“ и изберете макроса на подмножеството „Настройка“. Кликнете върху „OK“.

Това означава, че сме присвоили брой макрос на този бутон. И след щракване, той ще се изпълни.

Стъпка 7: Ще се покаже както е показано по-долу в excel.

Стъпка 8: Щракнете с десния бутон върху него и го преименувайте с помощта на опцията „ Редактиране на текст “, както е показано по-долу:

Стъпка 9: Дайте му име като „COUNT“ и ще го видите в excel като брой, както е показано по-долу.

Стъпка 10: След това кликнете върху бутона „COUNT“: След като щракнете върху бутона „COUNT“, се появява полето за съобщения, както е показано по-долу:

Както виждаме, има 10 имена и са показали правилното число от диапазон от A2 до A11.

Неща, които трябва да запомните

  • Уверете се, че имате раздела „Developer“, поставен в лентите на Excel, за да стартирате тези VBA кодове.
  • 'Set' се прилага най-вече върху работни листове / диапазон от клетки в определен лист.

Препоръчителни статии

Това е ръководство за VBA Set. Тук обсъждаме как да присвоите референция на обект или диапазон от клетки, използвайки excel VBA Set Keyword, заедно с практически примери и шаблон за excel за изтегляне. По-долу са някои полезни статии за excel, свързани с VBA -

  1. Функция за свързване на VBA
  2. Ръководства за наборите с икони в Excel
  3. Работа с обхватни клетки в VBA
  4. Решете уравнение в Excel

Категория: