Получение, установка или изменение значения ячейки в Excel VBA

Мы используем VBA для автоматизации наших задач в Excel. Идея использования VBA заключается в соединении интерфейса Excel с программированием. Одна из самых важных связей между ними заключается в изменении значений ячеек. Изменение значения ячейки с помощью программирования показывает мощь VBA. В этой статье мы увидим, как установить, получить и изменить значение ячейки.

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

Присвоение ячейке значения может быть достигнуто с помощью двух очень известных функций в VBA, т.Е. функции Range и Cells.

Функция Range в VBA

Функция range помогает получить доступ к ячейкам на листе. Чтобы установить значение ячейки с помощью функции range, мы используем .Value.
Синтаксис: диапазон (имя_элемента).Значение = значение, которое должно быть установлено.

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

Если вы хотите присвоить ’11’ ячейке A1, то выполните следующие действия:

Шаг 1: Используйте функцию Range , введите имя ячейки в двойные кавычки. Используйте функцию объекта .Value. Например, диапазон (“A1”).Значение = 11.

Шаг 2: Запустите макрос. В ячейке A1 появится число 11.

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

Вспомните дни, когда ваш учитель наказывал вас, заставляя писать домашнее задание 10 раз, это были трудные дни, но теперь усилия экспоненциально уменьшились. Вы можете задать значение для диапазона ячеек всего одной строкой кода. Если вы хотите написать свое имя, например, “Arushi” 10 раз, в диапазоне от A2 до A11. Используйте функцию range. Ниже приведены шаги:

Шаг 1: Используйте функцию Range, в двойных кавычках напишите “Start_of_cell: End_of_cell”. Используйте объектную функцию .Value . Например, диапазон (“A2:A11”).Значение = “Arushi”.

Шаг 2: Запустите свой макрос. Текст “Arushi” отображается от ячейки A2 до A11 включительно.

Ячейки функционируют в VBA

Функция Cells аналогична функции range и также используется для установки значения ячейки на листе с помощью VBA. Разница заключается в том, что функция Cells может одновременно устанавливать только одно значение ячейки, в то время как функция Range может устанавливать несколько значений одновременно. Функция Cells использует матричную систему координат для доступа к элементам ячейки. Например, A1 может быть записан как (1, 1), B1 может быть записан как (1, 2) и т.д.
Синтаксис: Ячейки (номер строки, номер столбца).Значение = значение_to_be_assign

Например, вы хотите установить значение ячейки в “Arushi cleared CA with Rank “, в ячейке B1. Также установите для ячейки C1 значение ‘1’. Ниже приведены шаги:

Шаг 1: Откройте ваш редактор VBA. Используйте функцию cells, поскольку мы хотим получить доступ к ячейке B1, координаты матрицы будут (1, 2). Введите ячейки (1, 2).Значение = “Arushi очистил CA с помощью Rank” в коде VBA.

Шаг 2: Для доступа к ячейке C1, координаты матрицы (1, 3). Введите ячейки (1, 3).Значение = 1 в коде VBA.

Шаг 3: Запустите макрос. Требуемый текст появится в ячейке B1, а число — в C1.

Настройка значений ячейки с помощью активной ячейки и поля ввода

Существуют другие способы, с помощью которых вы можете ввести свое значение в ячейку на рабочем листе.

Активная ячейка

Вы можете установить значение ячейки для ячейки, которая в данный момент активна. Активная ячейка — это выбранная ячейка, в которую вводятся данные, если вы начинаете вводить текст. Используйте объектную функцию ActiveCell.Value, чтобы задать значение либо в виде текста, либо в виде числа.
Синтаксис: ActiveCell.Value = значение_to_be_assigned

Например, вы хотите присвоить активной ячейке текст, например, “Аруши практикует CA”, также хотите изменить цвет ячейки на желтый. Ниже приведены шаги:

Шаг 1: Используйте объект ActiveCell для доступа к текущей выбранной ячейке на листе. Используйте объект функции ActiveCell.Value для ввода требуемого текста.

Шаг 2: Раскрасьте ячейку с помощью ActiveCell.Интерьер. Функция Color. Например, используйте vbYellow , чтобы установить желтый цвет ячейки.
Использование-active.cell.interior.color-функции
Шаг 3: Запустите макрос. Текущая выбранная ячейка, то есть B1 , соответствует требованиям.

Поле ввода

Вы можете использовать поле ввода для установки значения ячейки на листе. Поле ввода принимает пользовательское значение и сохраняет результат. Этот результат в дальнейшем может быть использован для установки значения ячейки. Например, установите значение ячейки A1 динамически, принимая входные данные из поля ввода.

Ниже приведены шаги

Шаг 1: Откройте редактор VBA. Создается подпроцедура с именем geeks(). Используйте функцию Range для сохранения значения, указанного в поле ввода.

Шаг 2: Запустите макрос. Появится диалоговое окно с названием Microsoft Excel . Введите значение для сохранения. Например, “вундеркинды для вундеркиндов». Нажмите Ok.

Шаг 3: Откройте свой рабочий лист. В ячейке A1 вы обнаружите, что необходимый текст написан.

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

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

Распечатать значение ячейки в консоли

Консоль редактора VBA — это окно immediate. Окно immediate выводит желаемый результат в самом редакторе VBA. Значение ячейки может быть сохранено в переменной, а затем напечатано в окне immediate. Например, вам предоставлена ячейка A1 со значением ’11’, и вам нужно распечатать это значение в немедленном окне.

Ниже приведены шаги

Шаг 1: Нажмите Ctrl + G, чтобы открыть немедленное окно.

Шаг 2: Значение ячейки в A1 равно 1.

Шаг 3: Откройте редактор VBA. Объявите переменную, в которой может храниться значение ячейки. Например, Val — это переменная, которая хранит значение ячейки в формате A1. Используйте функцию Range для доступа к значению ячейки. После сохранения значения ячейки в val выведите переменную в окне immediate с помощью Debug.Функция Print(val) .

Шаг 4: Запустите свой макрос. Значение ячейки в формате A1 будет напечатано в немедленном окне.

Выведите значение ячейки в окне сообщения

Окно сообщения также можно использовать для отображения значения ячейки в VBA. Например, в ячейке A1 вашей строки указана случайная строка, т.е. “Аруши учится в Хансрае”. Теперь, если вы хотите отобразить значение ячейки в формате A1, мы можем использовать окно сообщения для достижения этой цели.

Ниже приведены шаги

Шаг 1: Откройте макрос VBA. Создайте окно сообщения с помощью MsgBox. Используйте диапазон (ячейку).Функция Value для доступа к значению ячейки.

Шаг 2: Запустите макрос. Появится окно сообщения, содержащее значение ячейки A1.

Изменение значений ячейки

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

Путем переназначения значения ячейки

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

Ниже приведены шаги

Шаг 1: Откройте редактор кода VBA. Первоначально значение ячейки A1 присваивается 1. Это начальное значение выводится в окне immediate. После этого мы изменили значение ячейки A1 на 2. Теперь, если мы напечатаем значение A1 в окне immediate, оно будет равно 2.

Шаг 2: В окне immediate выходные данные отображаются в виде 1 и 2.

Изменение значения ячейки с некоторым условием

Мы можем использовать операторы if-else или switch-case для изменения значения ячейки с некоторым условием. Например, если ваш возраст превышает 18 лет, то вы можете водить машину, иначе вы не сможете водить. Вы можете вывести свое сообщение в соответствии с этим условием.

Ниже приведены шаги

Шаг 1: На изображении ниже написан код, который сообщает, имеете ли вы право на получение водительских прав или нет. Если ваш возраст превышает 18 лет, то ячейке A1 будет присвоено значение “Вы имеете право на получение водительских прав”, в противном случае A1 будет присвоено значение “Вы не имеете права на получение водительских прав”.

Шаг 2: Запустите макрос. Появится окно ввода. Введите свой возраст. Например, 19.

Шаг 3: В соответствии с добавленным возрастом будет присвоено значение ячейки.

Автор А. Днепров

Обучаю основам работы с офисными программами.

Получение, установка или изменение значения ячейки в Excel VBA
3.2 Рисование линий