VBA Cell Value - Вземете, задайте или променете

Този урок ще ви научи как да взаимодействате с клетъчните стойности, използвайки VBA.

Задайте стойност на клетката

За да зададете стойност на клетка, използвайте свойството Value на Range или Cells обект.

Range.Value & Cells.Value

Има два начина за справка на клетки (и) във VBA:

  • Range Object - Обхват (“A2”). Стойност
  • Клетъчен обект - Клетки (2,1)

Обектът Range ви позволява да се позовавате на клетка, използвайки стандартната нотация „A1“.

Това ще зададе стойността на диапазона A2 = 1:

1 Диапазон ("A2"). Стойност = 1

Обектът Клетки ви позволява да посочвате клетка по нейния номер на ред и колона.

Това ще зададе стойността на диапазон A2 = 1:

1 Клетки (2,1). Стойност = 1

Обърнете внимание, че първо въвеждате номера на реда:

1 Клетки (номер на ред, номер на номер)

Задайте стойности на няколко клетки наведнъж

Вместо да се позовавате на една клетка, можете да се позовавате на диапазон от клетки и да промените всички стойности на клетките наведнъж:

1 Диапазон ("A2: A5"). Стойност = 1

Задайте стойност на клетката - текст

В горните примери задаваме стойността на клетката равна на число (1). Вместо това можете да зададете стойността на клетката равна на низ от текст. Във VBA целият текст трябва да бъде заобиколен от кавички:

1 Диапазон ("A2"). Стойност = "Текст"

Ако не заобикаляте текста с кавички, VBA ще помисли, че препращате към променлива …

Задайте стойност на клетката - променлива

Можете също да зададете стойност на клетка, равна на променлива

1234 Затъмнете strText като StringstrText = "Низ на текст"Диапазон ("A2"). Стойност = strText

Вземете стойността на клетката

Можете да получите стойности на клетки, като използвате същото свойство Value, което използвахме по -горе.

Вземете стойност на ActiveCell

За да получите стойността на ActiveCell и да я покажете в поле за съобщение:

1 MsgBox ActiveCell.Value

Присвояване на стойността на клетката към променлива

За да получите стойност на клетка и да я присвоите на променлива:

123 Dim var като вариантvar = Обхват ("A1"). Стойност

Тук използвахме променлива от тип Variant. Вариантните променливи могат да приемат всякакъв тип стойности. Вместо това можете да използвате тип променлива String:

123 Dim var като Stringvar = Обхват ("A1"). Стойност

Тип променлива String ще приема числови стойности, но ще съхранява числата като текст.

Ако знаете, че стойността на вашата клетка ще бъде цифрова, можете да използвате тип Double променлива (двойните променливи могат да съхраняват десетични стойности):

123 Dim var като Doublevar = Обхват ("A1"). Стойност

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

Други примери за стойност на клетката

Копиране на стойността на клетката

Лесно е да зададете стойност на клетка, равна на друга стойност на клетка (или „Копиране“ на стойност на клетка):

1 Диапазон ("A1"). Стойност = Обхват ("B1"). Стойност

Можете дори да направите това с диапазони от клетки (диапазоните трябва да са с еднакъв размер):

1 Обхват ("A1: A5"). Стойност = Обхват ("B1: B5"). Стойност

Сравнете стойностите на клетките

Можете да сравнявате стойностите на клетките, като използвате стандартните оператори за сравнение.

Проверете дали стойностите на клетките са равни:

1 MsgBox Range ("A1"). Value = Range ("B1"). Value

Ще върне TRUE, ако стойностите на клетката са равни. Иначе НЕВЯРНО.

Можете също така да създадете оператор If, за да сравните стойностите на клетките:

12345678910111213 Ако Range ("A1"). Value> Range ("B1"). Value thenДиапазон ("C1"). Стойност = "По -голям от"Elseif Range ("A1"). Value = Range ("B1"). Value thenДиапазон ("C1"). Стойност = "Равно"ИначеДиапазон ("C1"). Стойност = "По -малко от"Край Ако

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

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave