Значение ячейки VBA - получение, установка или изменение

Это руководство научит вас взаимодействовать со значениями ячеек с помощью VBA.

Установить значение ячейки

Чтобы установить значение ячейки, используйте свойство Value объекта Range или Cells.

Range.Value и Cells.Value

Есть два способа ссылаться на ячейки в VBA:

  • Объект диапазона - Диапазон («A2»). Значение
  • Объект Cells - Ячейки (2,1) .Значение

Объект Range позволяет ссылаться на ячейку, используя стандартную нотацию «A1».

Это установит значение диапазона A2 = 1:

1 Диапазон ("A2"). Значение = 1

Объект Cells позволяет ссылаться на ячейку по номеру строки и номера столбца.

Это установит значение диапазона A2 = 1:

1 Ячейки (2,1). Значение = 1

Обратите внимание, что вы сначала вводите номер строки:

1 Ячейки (Row_num, Col_num)

Установить значения нескольких ячеек одновременно

Вместо ссылки на одну ячейку вы можете указать диапазон ячеек и сразу изменить все значения ячеек:

1 Диапазон ("A2: A5"). Значение = 1

Установить значение ячейки - текст

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

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

Если вы не заключите текст в кавычки, VBA подумает, что вы ссылаетесь на переменную …

Установить значение ячейки - переменная

Вы также можете установить значение ячейки равным переменной

1234 Dim strText as StringstrText = "Строка текста"Диапазон ("A2"). Значение = strText

Получить значение ячейки

Вы можете получить значения ячеек, используя то же свойство Value, которое мы использовали выше.

Получите значение ActiveCell

Чтобы получить значение ActiveCell и отобразить его в окне сообщения:

1 MsgBox ActiveCell.Value

Назначить значение ячейки переменной

Чтобы получить значение ячейки и присвоить его переменной:

123 Dim var как вариантvar = Range ("A1"). Значение

Здесь мы использовали переменную типа Variant. Вариантные переменные могут принимать значения любого типа. Вместо этого вы можете использовать тип переменной String:

123 Dim var as Stringvar = Range ("A1"). Значение

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

Если вы знаете, что значение вашей ячейки будет числовым, вы можете использовать тип переменной Double (переменные Double могут хранить десятичные значения):

123 Dim var as Doublevar = Range ("A1"). Значение

Однако, если вы попытаетесь сохранить значение ячейки, содержащее текст, в переменной типа double, вы получите ошибку несоответствия типа:

Другие примеры значений ячеек

Копировать значение ячейки

Установить значение ячейки, равное другому значению ячейки (или «скопировать» значение ячейки), легко:

1 Диапазон ("A1"). Значение = Диапазон ("B1"). Значение

Вы даже можете сделать это с диапазонами ячеек (диапазоны должны быть одинакового размера):

1 Диапазон ("A1: A5"). Значение = Диапазон ("B1: B5"). Значение

Сравнить значения ячеек

Вы можете сравнивать значения ячеек, используя стандартные операторы сравнения.

Проверьте, равны ли значения ячеек:

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

Вернет ИСТИНА, если значения ячеек равны. В противном случае ЛОЖЬ.

Вы также можете создать оператор 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