VBA стойност

Пътуването на VBA започва с това как знанията се съхраняват в клетките. Следователно познаването на функцията VALUE при VBA е от по-голямо значение. След като проучите за VBA VALUE свойството, ще можете да знаете как стойностите се съхраняват под VBA. Тази статия обяснява всички видове VALUE функция в VBA, например как стойността се съхранява в клетки, гореща за задаване на стойността, как да вмъкнете стойността и много други.

Как да използвате Excel VBA Value Value?

Ще научим как да използваме VBA Value функция с няколко примера в Excel.

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

Пример №1 - Задайте стойност на клетката с помощта на функция Range.Value

Настройка на стойността на клетката / s с помощта на Range. Функцията стойност приблизително се състои от две важни стъпки:

  • Задаване на диапазона, в който искате да се съхранява стойността.
  • Присвояване на стойност на зададения диапазон.

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

Стъпка 1: Поставете нов модул под Visual Basic Editor (VBE).

Стъпка 2: Определете нова подпроцедура под поставения модул, така че макрос да може да се съхранява в него.

Код:

 Sub VBA_Value_Ex1 () Край Sub 

Стъпка 3: Определете нова променлива като диапазон, който може да се използва за дефиниране на диапазон, в който искате да запазите стойността.

Код:

 Sub VBA_Value_Ex1 () Dim setValue_Var As Range End Sub 

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

Код:

 Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Обхват ("A1") Край Sub 

Стъпка 5: Сега използвайте свойството Range.Value, за да можете да присвоите стойност на определения диапазон. Въведете името на променливата „setValue_Var“, под което е определен диапазонът.

 Под VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Обхват ("A1") setValue_Var End Sub 

Стъпка 6: Поставете точка (.) След променлива, за да можете да изберете списъка с функции на IntelliSense, налични за тази дефинирана променлива диапазон.

Код:

 Под VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Обхват ("A1") setValue_Var. Край Sub 

Стъпка 7: Плъзнете надолу през списъка и изберете функцията „Стойност“, за да съхраните стойността под тази променлива на диапазона.

Код:

 Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Обхват ("A1") setValue_Var.Value End Sub 

Стъпка 8: Задайте „Добре дошли в света на VBA!“ Като стойност към този диапазон с помощта на оператор за присвояване.

Код:

 Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Обхват ("A1") setValue_Var.Value = "Добре дошли в света на VBA!" Край Sub 

Стъпка 9: Ние сме готови с кодиращата част. Изпълнете този код, като натиснете F5 или Run бутона под VBE и вижте изхода.

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

Стъпка 10: В същия код по-горе променете обхвата от „A1“ на „A1: A5“.

Код:

 Sub VBA_Value_Ex1 () Dim setValue_Var As Range Set setValue_Var = ThisWorkbook.Worksheets ("Setting_Cell_Value_1"). Обхват ("A1: A5") setValue_Var.Value = "Добре дошли в света на VBA!" Край Sub 

Стъпка 11: Натиснете F5 или Run бутона и вижте изхода.

Пример №2 - Задайте стойността на клетката, като използвате свойството VBA Cells

Това е друг метод за определяне на стойността на клетката под VBA. За разлика от функцията RANGE, клетките дори не се нуждаят от тях. Оператор на стойност, за да може да зададе стойност за конкретната клетка / и.

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

Стъпка 1: Поставете нов модул под VBE, където можете да започнете да пишете новия си код.

Стъпка 2: Добавете нова под-процедура под поставен модул, в който можете да съхранявате макрокода си.

Код:

 Sub VBA_Value_Ex2 () Край Sub 

Стъпка 3: Започнете да пишете thisWorkbook.Worksheet за достъп до листа с име „Setting_Cell_Value_2“.

Код:

 Sub VBA_Value_Ex2 () ThisWorkbook.worksheets End Sub 

Стъпка 4: Споменете името на листа под скоби в двойни кавички.

Код:

 Под VBA_Value_Ex2 () ThisWorkbook.Worksheets ("Setting_Cell_Value_2") Край Sub 

Стъпка 5 : Използвайте свойството .Cells, за да зададете обхвата на клетките от дадения лист excel.

Код:

 Под VBA_Value_Ex2 () ThisWorkbook.Worksheets ("Setting_Cell_Value_2"). Клетки (1, 1) End Sub 

Първият аргумент на свойството Cells представлява редовете, а вторият аргумент представлява колоната. Следователно, клетки (1, 1) означава клетка, свързана с първия ред и първата колона на листа „Setting_Cell_Value_2“.

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

Код:

 Под VBA_Value_Ex2 () ThisWorkbook.Worksheets ("Setting_Cell_Value_2"). Cells (1, 1) = "VBA е гъвкав." Край Sub 

Погледнете, че не се нуждаем от .Value функция, която трябва да използваме, докато задаваме стойността с помощта на функция Range. Методът на клетките няма такива опции на IntelliSense.

Стъпка 7: Натиснете F5 или Run бутона, за да стартирате този код и да видите изхода. Ще видите изход, както е показано на екрана по-долу.

Пример №3 - Вземете стойност на клетката в VBA

Досега в два примера видяхме как да зададем стойност на клетка или диапазон от клетки. Нека предположим, че случаят е точно обратен, трябва да получим стойността, присвоена на определена клетка на лист excel. Как можем да го постигнем? Нека преминем през ръководство стъпка по стъпка.

Да предположим, че съм назначил стойност, както е показано на екрана по-долу, под първата клетка на колона A в лист „Getting_Cell_Value“.

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

Стъпка 1: Поставете нов модул под VBE.

Стъпка 2: Добавете подпроцедура, така че макрос да може да се съхранява като код.

Код:

 Sub VBA_Value_Ex3 () Край Sub 

Стъпка 3: Определете нова променлива, наречена Get_Value като Вариант, използвайки VBA Dim функция.

Код:

 Sub VBA_Value_Ex3 () Dim Get_Value Като вариант край Sub 

Сега трябва да присвоите стойността, присъстваща в клетка A1, на променливата, дефинирана по-горе.

Стъпка 4: Въведете „Get_Value = ThisWorkbook.Worksheets“. Това ще позволи на компилатора на VBA да получи достъп до листа на excel, където се съхранява вашата стойност.

Код:

 Sub VBA_Value_Ex3 () Dim Get_Value като вариант Get_Value = ThisWorkbook.Worksheets End Sub 

Стъпка 5: Споменете името на работния лист под скоби с цитати, в които се съхранява стойността.

Код:

 Sub VBA_Value_Ex3 () Dim Get_Value като вариант Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value") Край Sub 

Стъпка 6: Сега използвайте метод (.) Диапазон, за да предоставите точната клетка, където стойността се съхранява под лист, наречен „Getting_Cell_Value“.

Код:

 Под VBA_Value_Ex3 () Dim Get_Value като вариант Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value"). Обхват ("A1") Край Sub 

Стъпка 7: Накрая, използвайте метода на стойността на точка (.), Така че действителната стойност под клетка A1 да бъде достъпна от компилатора.

Код:

 Под VBA_Value_Ex3 () Dim Get_Value като вариант Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value"). Обхват ("A1"). Стойност Край Sub 

Стъпка 8: Както вече говорихме, трябва да получим стойността, съхранявана в клетка A1. За това използвайте MsgBox, за да покажете стойността на променлива Get_Value (Който вече е получил достъп до стойността, въведена в клетка A1).

Код:

 Под VBA_Value_Ex3 () Dim Get_Value като вариант Get_Value = ThisWorkbook.Worksheets ("Getting_Cell_Value"). Обхват ("A1") Стойност MsgBox Get_Value End Sub 

Стъпка 9: Натиснете F5 или Run бутона, за да стартирате този код, ще получите стойността, присъстваща в клетка A1 под полето за съобщение.

Вижте, това беше стойността, която споменахме под клетка А1 на лист „Getting_Cell_Value“. Така ли е?

Пример №4 - Можем ли да получим няколко стойности на клетките наведнъж?

Да предположим, че имам стойности, съхранени в три различни клетки A1, A2, A3, както е показано на екрана по-долу:

Просто не се бъркайте, ако видите текста, разпространен по колони от А до Е, това е просто видимо оформление (защото съм слял клетките) и действителната стойност се съхранява само в клетка А1, А2, А3.

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

Стъпка 1: Определете променлива като вариант при нова под-процедура във вашия VBA модул.

 Код: Под VBA_Value_Ex4 () Dim Get_Value_2 Като вариант край Sub 

Стъпка 2: Използвайте метода Range.Value, за да извлечете стойността на клетките A1: A3 и да присвоите нова променлива, дефинирана в предишната стъпка.

Код:

 Под VBA_Value_Ex4 () Dim Get_Value_2 като вариант Get_Value_2 = ThisWorkbook.Worksheets ("Getting_Cell_Value_2"). Обхват ("A1: A3"). Стойност Край Sub 

Стъпка 3: Накрая, използвайте функцията MsgBox, за да покажете стойностите, съхранени в клетка A1: A3.

Код:

 Под VBA_Value_Ex4 () Dim Get_Value_2 като вариант Get_Value_2 = ThisWorkbook.Worksheets ("Getting_Cell_Value_2"). Обхват ("A1: A3"). Стойност MsgBox Get_Value_2 End Sub 

Стъпка 4: Натиснете F5 или Run бутона и вижте изхода за този код.

Ще получите грешка по време на изпълнение'13 ': Тип Несъответствие. Причината за получаването на тази грешка е, че ние определяме една променлива и присвояваме стойности на едноизмерен масив (с три реда) към нея. Което логично не е възможно.

Това е от тази статия. Нека увием нещата с някои точки, които да се запомнят.

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

Не можете да зададете стойност на няколко клетки, докато използвате метода VBA CELLS, тъй като тя взема редове и колони като аргументи. Можете да посочите само номера на реда и номера на колоната в него.

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

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

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

  1. Пълно ръководство за VBA при грешка
  2. Как да използвате VBA формат на номера?
  3. Функция VBA VLOOKUP с примери
  4. Създаване на VBA функция в Excel
  5. Как да използвате VBA Val функция?

Категория: