Excel VBA променлив диапазон

В тази статия ще видим очертание на Excel VBA Variable in Range. Но използването на свойство за диапазон означава, че потребителят трябва да знае кой диапазон да използва, където идва диапазонът като променлива. Във VBA имаме тип данни като диапазон, който се използва за определяне на променливи като диапазон, който може да задържи стойност на диапазона, Тези променливи са много полезни при сложно програмиране и автоматизация. Често се използва променлив диапазон с зададените оператори и метод на диапазон. Операторите за набор се използват за задаване на променлива на диапазон от определен размер и методът на свойството за диапазон се използва за получаване на стойностите, които вече са в този диапазон, или за тяхното заместване с друга стойност. На първо място, нека бъдем наясно какво е диапазон?

Какво е Range?

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

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

Как да настроите променлив диапазон в Excel VBA?

Ще научим как да зададем различен диапазон на променливи в Excel, използвайки кода VBA.

Можете да изтеглите този шаблон на VBA с променлив диапазон Excel тук - шаблон на VBA с променлив диапазон Excel

VBA променлив диапазон - пример №1

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

Стъпка 1: Отворете модул от менюто Вмъкване, както е показано по-долу.

Стъпка 2: Напишете подпроцедурата на VBA Variable Range.

Код:

 Под Пример1 () Край Sub 

Стъпка 3: Ето тук е важна част, която трябва да запомните, че каквато и процедура да напишем VBA, я изпълнява в активния лист или в активния работен лист, така че за да стартираме различните процедури на различните работни листове, първо трябва да ги активираме, използвайки метода Activate,

Код:

 Под Пример1 () Работни листове ("Лист1"). Активиране на крайния Под 

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

Код:

 Под Пример1 () Работни листове ("Sheet1"). Активиране на обхвата ("A1: C3"). Value = "EDUCBA" End Sub 

Стъпка 5: Стартирайте кода, като натиснете клавиша F5 или натиснете бутона за възпроизвеждане. След като изпълним кода, можем да видим стойността в Лист 1, както следва.

Виждаме, че в нашия код сме избрали клетките от A1: C3, за да имат тези персонализирани стойности, този пример беше основното представяне на това, което можем да направим с метода на свойството диапазон.

VBA променлив диапазон - пример №2

Сега нека използваме Range като променлива в VBA, можем да използваме диапазон като променлива и да зададем променливата със стойностите, използвайки метода на свойството диапазон. В този пример ще обсъдим как да използваме променливата на диапазона, за да извлечем данни от клетка и да я покажем на екрана.

Стъпка 1: Ще започнем следващия си пример в същия модул, който сме поставили, така че не е необходимо да вмъкваме нов модул за всяка процедура. Под първия код се стартира друга подпроцедура.

Код:

 Под Пример2 () Краен Под 

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

Код:

 Под пример2 () Dim Rng като диапазон край Sub 

Стъпка 3: Сега вече обсъдихме значението на активирането на работен лист, преди да го използваме за нашия пример, така че трябва да активираме Лист 2.

Код:

 Под пример2 () Dim Rng като работни листове за диапазон („Sheet2“). Активирайте End Sub 

Стъпка 4: Преди да започнем със следващия си код, първо да видим какво има в стойността на клетка A1 в лист 2.

Стъпка 5: Можем да видим, че има данни в клетка A1, така че ще използваме оператора Set, за да присвоим стойността на клетка A1 на нашата променлива, използвайки метода на свойството диапазон.

Код:

 Под пример2 () Dim Rng като работни листове за диапазон („Sheet2“). Активиране Set Rng = Range („A1“) End Sub 

Стъпка 6: Сега, за да покажем стойността, която е била съхранена в нашата променлива, нека използваме функцията msgbox, както следва на изображението по-долу.

Код:

 Под пример2 () Dim Rng като работни листове за диапазон („Sheet2“). Активирайте Set Rng = обхват („A1“) MsgBox Rng End Sub 

Стъпка 7: Сега след като изпълним горния код, получаваме следния резултат.

VBA променлив диапазон - пример №3

В този пример ще използваме променлива като диапазон, за да изберем няколко клетки от лист 3.

Стъпка 1: Дефинирането на подпроцедурата ще бъде същото като за всички кодове по-горе, нека започнем точно под примера 3 в същия модул, както е показано по-долу.

Код:

 Под Пример 3 () Краен Под 

Стъпка 2: Сега декларирайте променлива като Тип данни за обхват, за да съхранявате стойностите на диапазон.

Код:

 Под пример 3 () Dim Rng1 като диапазон край Sub 

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

Код:

 Под Пример 3 () Dim Rng1 като Работни листове за диапазон ("Sheet3"). Активирайте End Sub 

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

Код:

 Под пример3 () Dim Rng1 като работни листове за диапазон ("Sheet3"). Активирайте Set Rng1 = обхват ("A1: C3") Rng1.Изберете край Sub 

Стъпка 5: Сега нека използваме оператора select, за да изберем диапазона в променливата.

Код:

 Под пример3 () Dim Rng1 като работни листове за диапазон ("Sheet3"). Активирайте Set Rng1 = обхват ("A1: C3") Rng1.Изберете край Sub 

Стъпка 6: Когато изпълним кода и преминем към лист 3, можем да видим следния резултат.

VBA променлив диапазон - пример №4

Сега нека използваме променлив диапазон, за да присвоим някои стойности на определен диапазон и да променим шрифта им междувременно.

Стъпка 1: В същия модул по-долу в пример 3 ще зададем друга процедура, наречена Example4.

Код:

 Под Пример4 () Край Sub 

Стъпка 2: Сега задайте променлива като Тип данни за обхват, за да съхранявате стойностите на диапазон.

Код:

 Под Пример4 () Dim Rng2 As End Range Sub 

Стъпка 3: Тъй като ще изпълним процедурата в Sheet4, нека първо активираме Sheet4.

Код:

 Под Пример4 () Dim Rng2 като работни листове за диапазон („Sheet4“). Активирайте End Sub 

Стъпка 4: Сега използвайте оператора set, за да присвоите стойност на диапазона на нашата променлива с помощта на метода за свойство на диапазона, както е показано по-долу.

Код:

 Под пример4 () Dim Rng2 като работни листове за диапазон („Sheet4“). Активирайте Set Rng2 = обхват („A1: C3“) Край Sub 

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

Код:

 Под пример4 () Dim Rng2 като работни листове за диапазон ("Sheet4"). Активирайте Set Rng2 = обхват ("A1: C3") Rng2.Value = "EDUCBA" End Sub 

Стъпка 6: Сега нека променим шрифта за диапазона, за да го смелим със следния код.

Код:

 Под пример4 () Dim Rng2 като работни листове за диапазон ("Sheet4"). Активирайте Set Rng2 = обхват ("A1: C3") Rng2.Value = "EDUCBA" Rng2.Font.Bold = True End Sub 

Стъпка 7: Когато изпълняваме този код, можем да видим следния резултат на лист 4, както е показано по-долу.

Обяснение на VBA променлив диапазон:

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

Как да използвате VBA променливия диапазон?

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

И искам да намеря кой ред има стойност „EDUCBA“, искаме номерът на реда да бъде показан.

Код:

 Под пример5 () Dim ws като работен лист Dim FoundCell като обхват Dim WTF като String Dim k като набор от цяло число ws = работни листове ("Sheet5") WTF = обхват ("A1"). Стойност Set FoundCell = ws.Range ("A: A "). Намерете (Какво: = WTF) k = FoundCell.Row MsgBox" Намери стойността в ред "& k End Sub 

Когато изпълняваме кода, се показва следният резултат.

Нека обясня кода, променливата Foundcell е променлив диапазон, който търси стойността на A1 в цял диапазон A: A и когато стойността е намерена, тя показва номера на реда с метода Row.

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

  • Променливият диапазон е променлива с тип данни за диапазон.
  • Определя се като същото като Dimment Statement.
  • Използваме оператора Set, за да присвоим диапазон на променливата.
  • Методът Range Properties се използва за достъп до стойностите за променливата на диапазона.

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

Това е ръководство за VBA променлив обхват. Тук обсъждаме как да зададете променлив диапазон в Excel, използвайки VBA код, заедно с практически примери и шаблон за Excel за изтегляне. Можете да разгледате и другите ни предложени статии -

  1. Диапазон за избор на VBA (примери)
  2. VBA IF отчети | Шаблон на Excel
  3. VBA променлива декларация с типове данни
  4. Преглед на номера на VBA формат

Категория: