VBA Set Range - Ръководство за задаване на диапазон от клетки в Excel VBA Code

Задайте диапазон в Excel VBA

Задаване на диапазон в vba означава, че ние задаваме даден диапазон на кода или процедурата за изпълнение, ако не предоставим конкретен диапазон на код, той автоматично ще поеме диапазона от работния лист, който има активната клетка, така че е много важно в кода, за да има зададена променлива на обхвата.

След като сте работили с Excel толкова много години, трябва да сте разбрали факта, че всички работи, които правим, са на работния лист, а в работните листове именно клетките съдържат данните. Така че, когато искате да си поиграете с данни, трябва да сте модел на поведение на клетки в работни листове. Така че, когато множеството клетки се съберат, това става RANGE. За да научите VBA, трябва да знаете всичко за клетките и диапазоните. Така че в тази статия ще ви покажем как да зададете подробно диапазона от клетки, които могат да се използват за VBA кодиране.

Какво представлява обектът за обхват?

Обхватът във VBA се нарича обект. Диапазонът може да съдържа една клетка, множество клетки, ред или колона и т.н. …

Във VBA можем да класифицираме диапазона по-долу.

“Приложение >>> Работна книга >>> Работен лист >>> Обхват”

Първо, трябва да осъществим достъп до приложението. Тогава под това трябва да се обърнем към коя работна книга се отнасяме, а в работната книга се отнасяме до кой работен лист се отнасяме, а след това в работния лист трябва да споменем обхвата на клетките.

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

Как да получите достъп до обхват от клетки в Excel VBA?

При кодирането на VBA можем да се позовем на клетката, като използваме свойството VBA CELLS и обекта RANGE. Например, ако искате да се обърнете към клетка A1, тогава първо, ще видим използването на RANGE обект.

Вътре в подпроцедурата трябва първо да отворим обекта RANGE.

Код:

Sub Range_Examples () Range (End Sub

Както можете да видите по-горе, обектът RANGE пита каква е клетката, към която се отнасяме. Така че трябва да въведем адреса на клетката с двойни кавички.

Код:

Sub Range_Examples () Range ("A1") End Sub

След като адресът на клетката бъде предоставен, трябва да решим какво да правим с тази клетка, като използваме свойства и методи. Сега поставете точка, за да видите свойствата и методите на обекта RANGE.

Ако искаме да вмъкнем стойността в клетката, трябва да изберем свойството “Стойност”.

Код:

Sub Range_Examples () Range ("A1"). Стойност Край Sub

За да зададем стойност, трябва да поставим знак за равенство и да въведем стойността, която искаме да вмъкнем в клетка А1.

Код:

Sub Range_Examples () Range ("A1"). Value = "Excel VBA Class" End Sub

Изпълнете кода чрез опцията за изпълнение и вижте магията в клетка A1.

Както е споменато в кода, имаме стойността в клетка А1.

По същия начин можем да се позовем на клетката, като използваме и свойството CELLS. Отворете свойството CELLS и вижте синтаксиса.

Това е за разлика от обекта RANGE, където можем да въведем адреса на клетката директно в двойни кавички. По-скоро трябва да дадем номер на ред и колона, за да се отнесем към клетката. Тъй като имаме предвид клетката А1, можем да кажем, че редът е 1, а колоната е 1.

След като споменем адреса на клетката, можем да използваме свойства и методи за работа с клетки. Но проблемът тук е за разлика от обект на диапазон след поставяне на точка. Не виждаме списъка на IntelliSense.

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

Код:

Под CELLS_Examples () Клетки (1, 1) .Value = "Excel VBA Class" End Sub

Достъп до множество клетки и задаване на референтен обхват във VBA

Една от големите разлики между CELLS & RANGE е използването на CELLS. Можем да осъществим достъп само до една клетка, но използвайки RANGE. Можем да получим достъп и до множество клетки.

Например, за клетки от А1 до В5, ако искаме стойността на 50, тогава можем да напишем кода, както е показано по-долу.

Код:

Sub Range_Examples () Range ("A1: B5"). Стойност = 50 End Sub

Това ще вмъкне стойността 50 от клетка A1 до B5.

Вместо да се позоваваме директно на клетките, можем да използваме променливата, за да задържим референцията на определени клетки.

Първо дефинирайте променливата като обект „Обхват“.

Код:

Sub Range_Examples () Dim Rng As Range End Sub

След като променливата е дефинирана като обект „Обхват“, трябва да зададем референцията за тази променлива за това кои са адресите на клетките, в които ще се съдържа референцията.

За да зададем референцията, трябва да използваме ключовата дума “SET” и да въведем адресите на клетките с помощта на обекта RANGE.

Код:

Sub Range_Examples () Dim Rng As Range Set Rng = Range ("A1: B5") End Sub

Сега променливата „Rng“ се отнася до клетките А1 до В5.

Вместо да напишем диапазона на клетъчния адрес („A1: B5“), можем просто да използваме името на променливата „Rng“.

Код:

Sub Range_Examples () Dim Rng As Range Set Rng = Range ("A1: B5") Rng.Value = "Range Setting" End Sub

Сега това ще вмъкне споменатата стойност от клетка A1 в клетка B5.

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

Код:

Sub Range_Examples () Dim Rng As Range Set Rng = Selection Rng.Value = "Range Setting" End Sub

Това е красота, защото ако избера някоя от клетките и стартирам, тя ще вмъкне стойността и в тези клетки.

Например ще избера определени клетки.

Сега ще изпълня кода и ще видя какво ще стане.

За всички избрани клетки той е вмъкнал стойността.

По този начин можем да зададем референтен обхват чрез деклариране на променливи във VBA.

Неща за запомняне

  • Обхватът може да избере няколко клетки, но КЛЕТКИТЕ могат да изберат по една клетка наведнъж.
  • RANGE е обект, а CELLS е собственост.
  • На всяка обектна променлива трябва да се зададе препратка към обекта, като се използва ключовата дума SET.

Интересни статии...