Свойство за стойност на Excel VBA
Стойността е свойство в VBA, което се използва най-вече с метода на диапазона за присвояване на стойност на определен диапазон, това е вграден израз в VBA, например, ако използваме диапазон („B3“). Value = 3 това ще присвои клетка B3 стойност 3, не е задължително това свойство стойност да се използва само с метод на диапазон, можем да го използваме и с други функции.
В началото на нашето обучение с VBA, ние сме толкова любопитни да научим как да съхраняваме данните в клетките. Ако сте толкова любопитни, тогава трябва да разберете свойството „Стойност“. В тази статия ще ви обясним за свойството “Value”, как да вмъкнете или зададете стойности, как да получите стойност от клетката и много други неща.
В една от по-ранните статии обсъдихме „Обхватни клетки на VBA.“ Обектът обхват може да ни помогне да се позовем на една клетка, както и множество клетки. За да използваме първо RANGE обекта, трябва да решим за коя клетка трябва да вмъкнем стойността и каква е стойността, която ще вмъкнем.

Как да използвам Value Property във VBA?
Пример # 1 - Обект за обхват за присвояване на стойности на клетки
- Например, ако искате да вмъкнете стойност в клетка А1, тогава трябва да препратите клетка А1 като този диапазон („А1“)
Код:
Sub Value () Диапазон ("A1") Край Sub

- След като препратите клетката с помощта на обекта RANGE, сега поставете точка (.), За да видите списъка IntelliSense с всички свойства и методи, свързани с този обект.
Код:
Под стойност () Диапазон ("A1"). Крайна под

- Оформете това разнообразие от опции, изберете свойството „СТОЙНОСТ“.
Код:
Sub Value () Диапазон ("A1"). Value End Sub

- След като бъде избрано свойството “VALUE”, трябва да зададем стойността на клетка A1, като поставим стойността в знак на равенство.
Код:
Sub Value () Диапазон ("A1"). Value = "Добре дошли в VBA" Край Sub

- Добре, това ще вмъкне стойността „Добре дошли в VBA“ в клетката A1.

- Ако искате да вмъкнете една и съща стойност в множество клетки, препратете клетките като кода по-долу.
Код:
Sub Value () Диапазон ("A1: A5"). Value = "Добре дошли в VBA" Край Sub
- Това ще вмъкне стойността от клетката A1 до A5 .

- Ако искате да вмъкнете стойности в различни клетки, но не и за поредица от клетки, тогава трябва да използваме код и адреса на клетката в отделни аргументи, както по-долу.
Код:
Sub Value () Диапазон ("A1, A5, B4, C2"). Value = "Добре дошли в VBA" End Sub
- Това ще вмъкне текста „Добре дошли в VBA“ в клетките A1, A5, B4 и C2 клетки.

Пример # 2 - Вмъкване на стойност с помощта на свойството CELLS
Не чрез обекта RANGE, но също така използвайки свойството VBA CELLS, можем да вмъкнем стойности. Но един от проблемите с обекта CELLS е, че нямаме достъп до списъка IntelliSense, както имаме за обекта RANGE.

Тук трябва да споменем номерата на редовете и колоните, имаме нужда от вмъкването на стойността. Например, ако искате да вмъкнете стойността в клетката A1, тогава кодът е CELLS (1,1). Ако искате да вмъкнете стойността в клетката B5, тогава кодът е CELLS (5,2), т.е. равен на клетка B5.
Не можем да вмъкнем стойности в множество клетки, като използваме свойството CELLS. Това е за разлика от нашия обект RANGE.
Пример # 3 - Вземете стойност на клетката
Видяхме как да вмъкнем стойности в клетките, сега ще видим как да получим стойности от клетките.
Стъпка 1: Дефинирайте променлива като String.
Код:
Sub Value () Dim K As String End Sub
Стъпка 2: За тази променлива „k“ ще присвоим стойността на клетката A1. В клетка А1 въведох стойността „Добре дошли в VBA.“

Така че кодът ще бъде k = Обхват (“A1”). Стойност
Код:
Sub Value () Dim K As String K = Range ("A1") Стойност Край Sub
Стъпка 3: Покажете резултата от променливата „k“ в полето за съобщения на VBA.
Код:
Sub Value () Dim K As String K = Range ("A1"). Стойност MsgBox K End Sub
Като стартираме кода, трябва да получим резултата от стойността на клетка A1 в полето за съобщение.

Също така можем да използваме обекта RANGE, за да получим данните на клетката A1. Кодът по-долу ще ви покаже същото.
Код:
Sub Value () Dim K As String Set CellValue = Range ("A1") MsgBox CellValue End Sub
Това също трябва да получи стойността на клетката A1 в полето за съобщения.
Пример 4 - Стойност на грешка, ако се изискват повече от една клетка
Например погледнете кода по-долу.
Код:
Sub Value () Dim K As Range Set CellValue = Range ("A1: A5") MsgBox CellValue End Sub
Ако стартирате горния код, ще получим грешка „Несъответствие на типа“.
Причината, поради която получаваме тази грешка, защото когато обектната променлива е зададена на повече от една „стойност“ на клетка, свойството всъщност не разбира коя стойност на клетката да бъде дадена, така че може да получи единична стойност на клетка наведнъж.