Стойност на VBA | Как да използвам свойството за стойност на Excel VBA? (Примери)

Свойство за стойност на 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”.

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