Свойство Range.Value (Excel)
Возвращает или задает значение Variant, представляюще значение указанного диапазона.
Синтаксис
выражения. Значение (RangeValueDataType)
выражение: переменная, представляющая объект Range.
Параметры
| Имя | Обязательный или необязательный | Тип данных | Описание |
|---|---|---|---|
| RangeValueDataType | Необязательный | Variant | Тип данных о значении диапазона. Может быть константой XlRangeValueDataType. |
Примечания
При настройке диапазона ячеек с содержимым XML-файла таблиц используются только значения первого листа в книге. Вы не можете установить или получить дисконтный диапазон ячеек в формате таблиц XML.
Для диапазонов, первая область которых содержит более одной ячейки, Значение возвращает вариант, содержащий двухмерный массив значений в отдельных ячейках первого диапазона.
Назначение 2-тусклого массива свойству Value скопирует значения в диапазон в одной операции. Если целевой диапазон больше массива, оставшиеся ячейки получат значение ошибки.
Назначение массива в диапазоне с несколькими зонами не поддерживается должным образом и его следует избегать.
Пример
В этом примере значение ячейки A1 на листе1 активной книги определяется значением 3.14159.
В этом примере циклы на ячейках A1:D10 на листе1 активной книги. Если одно из ячеек имеет значение менее 0,001, код заменяет значение 0 (ноль).
В этом примере циклы по значениям в диапазоне A1:CC5000 на листе1. Если одно из значений меньше 0,001, код заменяет значение 0 (ноль). Наконец, он копирует значения в исходный диапазон.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Свойство Value (Формы Майкрософт)
Задает состояние содержимого для указанного элемента управления.
Синтаксис
объект. Значение [= Вариант]
Синтаксис свойства Value состоит из следующих частей:
| Part | Описание |
|---|---|
| object | Обязательный. Допустимый объект. |
| Variant | Необязательно. Состояние содержимого для элемента управления. |
Параметры
| Средство контроля | Описание |
|---|---|
| CheckBox | Целое значение, указывающее, выбран ли элемент: |
Null. Указывает, что элемент находится в состоянии null, ни выбран, ни очищен.
-1 True. Указывает, что элемент выбран.
0 False. Указывает, что элемент очищается.
Ноль (0) означает первую страницу. Максимальное значение на единицу меньше количества страниц.
Примечания
Если для элемента CommandButton присвоить свойству Value значение True в макросе или процедуре, будет вызвано событие Click.
Для элемента ComboBox изменение содержимого свойства Value не повлечет за собой изменение значения BoundColumn. Чтобы добавить или удалить записи элемента ComboBox, вы можете использовать метод AddItem или RemoveItem соответственно.
Свойство Value нельзя использовать со списками, допускающими выбор нескольких значений.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
VBA Excel. Свойства ячейки (объекта Range)
Свойства ячейки, часто используемые в коде VBA Excel. Демонстрация свойств ячейки, как структурной единицы объекта Range, на простых примерах.
Ячейка и объект Range
Объект Range в VBA Excel представляет диапазон ячеек. Он (объект Range) может описывать любой диапазон, начиная от одной ячейки и заканчивая сразу всеми ячейками рабочего листа.
В VBA Excel есть свойство Cells объекта Range, которое позволяет обратиться к одной ячейке в указанном диапазоне (возвращает объект Range в виде одной ячейки). Если в коде используется свойство Cells без указания диапазона, значит оно относится ко всему диапазону активного рабочего листа.
Примеры обращения к одной ячейке:
Подробнее о том, как обратиться к ячейке, смотрите в статье: Ячейки (обращение, запись, чтение, очистка).
В этой статье мы рассмотрим свойства объекта Range, применимые, в том числе, к диапазону, состоящему из одной ячейки.
Свойства ячейки (объекта Range)
В таблице представлены не все свойства объекта Range. С полным списком вы можете ознакомиться не сайте разработчика.
Простые примеры для начинающих
Вы можете скопировать примеры кода VBA Excel в стандартный модуль и запустить их на выполнение. Как создать стандартный модуль и запустить процедуру на выполнение, смотрите в статье VBA Excel. Начинаем программировать с нуля.
Учтите, что в одном программном модуле у всех процедур должны быть разные имена. Если вы уже копировали в модуль подпрограммы с именами Primer1, Primer2 и т.д., удалите их или создайте еще один стандартный модуль.
Форматирование ячеек
Заливка ячейки фоном, изменение высоты строки, запись в ячейки текста, автоподбор ширины столбца, выравнивание текста в ячейке и выделение его цветом, добавление границ к ячейкам, очистка содержимого и форматирования ячеек.
Если вы запустите эту процедуру, информационное окно MsgBox будет прерывать выполнение программы и сообщать о том, что произойдет дальше, после его закрытия.
VBA Value
VBA Value
Путешествие по VBA начинается со знания того, как значения хранятся в ячейках. Следовательно, знание функции VALUE в VBA имеет большее значение. После изучения свойства VBA VALUE вы сможете узнать, как значения хранятся в VBA. В этой статье описываются все типы функций VALUE в VBA, например, как значение хранится в ячейках, как быстро установить значение, как вставить значение и многое другое.
Как использовать функцию значения VBA Excel?
Мы научимся использовать функцию VBA Value на нескольких примерах в Excel.
Установка значения ячейки / с использованием Range. Функция значения примерно состоит из двух важных шагов:
Выполните следующие шаги, чтобы установить значение в Excel VBA:
Шаг 1. Вставьте новый модуль в редактор Visual Basic (VBE).
Шаг 2: Определите новую подпроцедуру под вставленным модулем, чтобы в нем можно было сохранить макрос.
Шаг 3: Определите новую переменную как диапазон, который можно использовать для определения диапазона, в котором вы хотите сохранить значение.
Шаг 4: С помощью функции VBA RANGE присвойте ячейки в диапазоне переменной, определенной с помощью оператора присваивания.
Шаг 5: Теперь используйте свойство Range.Value, чтобы иметь возможность присвоить значение определенному диапазону. Введите имя переменной «setValue_Var», под которой определяется диапазон.
Шаг 6: Поставьте точку (.) После переменной, чтобы иметь возможность выбрать список функций IntelliSense, доступных для этой определенной переменной диапазона.
Шаг 7: Перетащите вниз по списку и выберите функцию «Значение», чтобы сохранить значение в этой переменной диапазона.
Шаг 8: Назначьте «Добро пожаловать в мир VBA!» В качестве значения для этого диапазона, используя оператор присваивания.
Шаг 9: Мы закончили с частью кодирования. Запустите этот код, нажав F5 или кнопку Run под VBE и посмотрите результат.
Вы также можете присвоить значение диапазону ячеек. Все, что вам нужно сделать, это при настройке диапазона выходных данных вы дадите одномерный массив вместо ссылки на одну ячейку.
Шаг 10: В том же коде выше измените диапазон с «A1» на «A1: A5».
Шаг 11: Нажмите F5 или кнопку Run и посмотрите результат.
Это еще один способ установки значения ячейки в VBA. В отличие от функции RANGE, ячейки даже не нуждаются в них. Значение оператора, чтобы иметь возможность установить значение для конкретной ячейки / с.
Выполните следующие шаги, чтобы установить значение ячейки в Excel VBA:
Шаг 1: Вставьте новый модуль в VBE, где вы можете начать писать свой новый кусок кода.
Шаг 2: Добавьте новую подпроцедуру под вставленным модулем, где вы можете сохранить свой код макроса.
Шаг 3: Начните вводить thisWorkbook.Worksheet для доступа к листу с именем «Setting_Cell_Value_2».
Шаг 4: Упомяните имя листа в скобках в двойных кавычках.
Первый аргумент свойства Cells представляет строки, а второй аргумент представляет столбец. Следовательно, Ячейки (1, 1) означают ячейку, связанную с первой строкой и первым столбцом листа «Setting_Cell_Value_2».
Шаг 6: Теперь, с помощью оператора присваивания, присвойте значение этому набору ячеек.
Шаг 7: Нажмите F5 или кнопку Run, чтобы запустить этот код и увидеть результат. Вы увидите вывод, как показано на скриншоте ниже.
До сих пор в двух примерах мы видели, как установить значение для ячейки или диапазона ячеек. Теперь предположим, что случай в точности обратный, мы должны получить значение, назначенное конкретной ячейке таблицы Excel. Как мы можем получить это? Давайте пройдемся по пошаговой инструкции.
Предположим, я присвоил значение, как показано на скриншоте ниже под первой ячейкой столбца A на листе «Getting_Cell_Value».
Выполните следующие шаги, чтобы получить значение ячейки в Excel VBA:
Шаг 1: Вставьте новый модуль под VBE.
Шаг 2: Добавьте подпроцедуру, чтобы макрос мог быть сохранен в виде кода.
Шаг 3: Определите новую переменную с именем Get_Value как вариант, используя функцию VBA Dim.
Теперь вам нужно присвоить значение, присутствующее в ячейке A1, переменной, определенной выше.
Шаг 4. Введите «Get_Value = ThisWorkbook.Worksheets». Это позволит компилятору VBA получить доступ к таблице Excel, где хранится ваше значение.
Шаг 5. Упомяните имя листа в скобках с цитатами, в которых хранится значение.
Шаг 6: Теперь используйте метод Range (.) Range, чтобы указать точную ячейку, в которой хранится значение под листом «Getting_Cell_Value».
Шаг 7: Наконец, используйте метод Точка (.) Значение, чтобы компилятор мог получить доступ к фактическому значению в ячейке A1.
Шаг 8: Как мы уже говорили, нам нужно получить значение, хранящееся в ячейке A1. Для этого используйте MsgBox, чтобы показать значение переменной Get_Value (которая уже получила доступ к значению, введенному в ячейке A1).
Шаг 9: Нажмите F5 или кнопку Run, чтобы запустить этот код, вы получите значение, присутствующее в ячейке A1 под окном сообщения.
Видите, это было значение, которое мы упомянули в ячейке A1 листа «Getting_Cell_Value». Правильно?
Предположим, у меня есть значения, хранящиеся в трех разных ячейках A1, A2, A3, как показано на скриншоте ниже:
Только не запутайтесь, если вы видите текст, разбросанный по столбцам от A до E. Это просто видимый макет (потому что я объединил ячейки), а фактическое значение хранится только в ячейках A1, A2, A3.
Выполните следующие шаги, чтобы использовать Excel VBA Value:
Шаг 1: Определите переменную как вариант в новой подпроцедуре в вашем модуле VBA.
Шаг 2: Используйте метод Range.Value, чтобы получить значение ячеек A1: A3 и назначить новую переменную, определенную на предыдущем шаге.
Шаг 3: Наконец, используйте функцию MsgBox для отображения значений, хранящихся в ячейке A1: A3.
Шаг 4: Нажмите F5 или кнопку Run и посмотрите вывод для этого кода.
Вы получите ошибку во время выполнения ’13 ‘: несоответствие типов. Причиной получения этой ошибки является то, что мы определяем одну переменную и присваиваем ей значения одномерного массива (с тремя строками). Что логически невозможно.
Это из этой статьи. Давайте завернем вещи с некоторыми пунктами, которые будут помнить.
То, что нужно запомнить
Вы не можете установить значение нескольких ячеек при использовании метода VBA CELLS, потому что он принимает строки и столбцы в качестве аргументов. Вы можете указать только номер строки и номер столбца в нем.
Вы также не можете получить значения, хранящиеся в нескольких ячейках в одном окне сообщения. Если вам нужно получить диапазон значений, вам нужно написать отдельные аргументы get для каждого значения.
Рекомендуемые статьи
Range.Value property (Excel)
Returns or sets a Variant value that represents the value of the specified range.
Syntax
expression.Value (RangeValueDataType)
expression A variable that represents a Range object.
Parameters
| Name | Required/Optional | Data type | Description |
|---|---|---|---|
| RangeValueDataType | Optional | Variant | The range value data type. Can be an XlRangeValueDataType constant. |
Remarks
When setting a range of cells with the contents of an XML spreadsheet file, only values of the first sheet in the workbook are used. You cannot set or get a discontiguous range of cells in the XML spreadsheet format.
For ranges whose first area contains more than one cell, Value returns a Variant containing a 2-dimensional array of the values in the individual cells of the first range.
Assigning a 2-dim array to the the Value property will copy the values to the range in one operation. If the target range is larger than the array, the remaining cells will receive an error value.
Assigning an array to a multi-area range is not properly supported and should be avoided.
Example
This example sets the value of cell A1 on Sheet1 of the active workbook to 3.14159.
This example loops on cells A1:D10 on Sheet1 of the active workbook. If one of the cells has a value of less than 0.001, the code replaces the value with 0 (zero).
This example loops over the values in the range A1:CC5000 on Sheet1. If one of the values is less than 0.001, the code replaces the value with 0 (zero). Finally it copies the values to the original range.
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

































