Свойство за стойност на Excel VBA
Стойността е свойство в VBA, което се използва най-вече с метода на диапазона за присвояване на стойност на определен диапазон, това е вграден израз в VBA, например, ако използваме диапазон („B3“). Value = 3 това ще присвои клетка B3 стойност 3, не е задължително това свойство стойност да се използва само с метод на диапазон, можем да го използваме и с други функции.
В началото на нашето обучение с VBA сме толкова любопитни да научим как да съхраняваме данните в клетките. Ако сте толкова любопитни, тогава трябва да разберете свойството „Стойност“. В тази статия ще ви обясним за свойството “Value”, как да вмъкнете или зададете стойности, как да получите стойност от клетката и много други неща.
В една от по-ранните статии обсъдихме „VBA Range Cells”. Обектът обхват може да ни помогне да се позовем на една клетка, както и на множество клетки. За да използваме обекта RANGE първо, трябва да решим за коя клетка трябва да вмъкнем стойността и каква е стойността, която ще вмъкнем.
Как да използвам Value Property във VBA?
Можете да изтеглите този шаблон за функция на стойност на VBA в Excel от тук - Шаблон за функция за стойност на VBA в ExcelПример # 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
Ако стартирате горния код, ще получим грешка “Type Mismatch”.
Причината, поради която получаваме тази грешка, защото когато променливата на обекта е зададена на повече от едно свойство „стойност“ на клетката, всъщност не разбира коя стойност на клетката да се даде, така че може да получи единична стойност на клетка наведнъж.