Получить значение ячейки в Excel VBA (пошаговые примеры)

Получить значение ячейки с помощью Excel VBA

Ячейка - это отдельная ячейка, которая также является частью диапазона. Технически существует два метода взаимодействия с ячейкой в ​​VBA: метод диапазона и метод ячейки, метод диапазона используется как диапазон («A2»). .Value, который даст нам значение ячейки A2, или мы можем использовать метод ячейки как ячейки (2,1) .value, который также даст нам значение ячеек A2.

Будь то работа в Excel или работа с VBA, нам всем нужна работа с ячейкой или ячейками, потому что все данные будут храниться в ячейках, поэтому все сводится к тому, насколько хорошо мы знаем о ячейках в VBA. Итак, если ячейки являются такой важной частью VBA, важно хорошо их понимать, а если вы новичок в отношении ячеек VBA, то эта статья подробно расскажет вам, как получить значения ячеек в Excel VBA.

Первым делом мы можем ссылаться на ячейки или работать с ними в VBA двумя способами, то есть с помощью свойства CELLS и объекта RANGE. Почему CELLS - это свойство и почему RANGE - это объект - это другая аналогия, и позже в статье мы вернемся к этому вопросу.

Примеры получения значения ячейки в Excel VBA

Ниже приведены примеры получения значения ячейки в Excel VBA.

Вы можете скачать этот шаблон Excel для получения значения ячейки VBA здесь - Шаблон Excel для получения значения ячейки VBA

Пример # 1 - Использование свойства RANGE или CELLS

Например, в ячейке A1 у нас есть значение «Индия».

Для ссылки на эту ячейку мы можем использовать свойство CELLS или объект RANGE, давайте подробно рассмотрим их оба.

Использование свойства диапазона

Сначала запустите процедуру макроса.

Код:

 Sub Get_Cell_Value () End Sub 

Теперь откройте объект RANGE.

Код:

 Sub Get_Cell_Value () Диапазон (End Sub 

Первым аргументом этого объекта является «Cell1», то есть о какой ячейке мы говорим. В этом случае это ячейка A1, поэтому нам нужно указать адрес ячейки в двойных кавычках для объекта RANGE.

Код:

 Sub Get_Cell_Value () Диапазон ("A1") End Sub 

Поскольку только одна ячейка ссылается на другие параметры, не имеет значения, поэтому закройте скобку и поставьте точку, чтобы увидеть список intellisense.

Как вы можете видеть выше, в тот момент, когда мы ставим точку, мы видим весь доступный список свойств и методов объекта range в intellisense.

Поскольку мы выбираем ячейку, нам нужно выбрать метод «SELECT» из списка intellisense.

Код:

 Sub Get_Cell_Value () Диапазон ("A1"). Выберите End Sub 

Теперь выберите ячейку, отличную от A1, и запустите код.

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

Использование свойства Cells

Точно так же мы сейчас используем свойство CELLS.

Код:

 Sub Get_Cell_Value () Диапазон ("A1"). Выберите ячейки (End Sub 

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

Первый аргумент этого свойства - «Индекс строки», то есть, на какую строку мы ссылаемся. Поскольку мы выбираем ячейку A1, мы ссылаемся на первую строку, поэтому укажите 1.

Следующим аргументом является «Индекс столбца», т.е. какой столбец мы имеем в виду. Столбец ячейки A1 является первым столбцом, поэтому введите 1.

Наш код читает CELLS (1, 1), т.е. первая строка первого столбца = A1.

Теперь поставьте точку и посмотрите, увидите ли вы список intellisense или нет.

С помощью свойств CELLS мы не можем видеть никаких списков IntelliSense, поэтому нам нужно быть абсолютно уверенными в том, что мы пишем. Введите «Выбрать» в качестве метода.

Код:

 Sub Get_Cell_Value () Диапазон ("A1"). Выберите ячейки (1, 1). Выберите End Sub 

Это также выберет ячейку A1.

Пример # 2 - Получить значение из ячейки в Excel VBA

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

Код:

 Sub Get_Cell_Value1 () Dim CellValue As String End Sub 

Теперь укажите адрес ячейки, используя объект RANGE или свойство CELLS. Поскольку вы новичок, используйте объект RANGE только потому, что с объектом RANGE мы можем увидеть список intellisense.

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

Код:

 Sub Get_Cell_Value1 () Dim CellValue As String CellValue = Range ("A1") End Sub 

Еще раз поставьте точку, чтобы увидеть список intellisense.

Из списка vba intellisense выберите свойство «Значение», чтобы получить значение из указанной ячейки.

Код:

 Sub Get_Cell_Value1 () Dim CellValue As String CellValue = Range ("A1"). Значение End Sub 

Теперь переменная CellValue содержит значение из ячейки A1. Показать значение этой переменной в окне сообщения в VBA.

Код:

 Sub Get_Cell_Value1 () Dim CellValue As String CellValue = Range ("A1"). Value MsgBox CellValue End Sub 

Хорошо, запустите код и посмотрите результат в окне сообщения.

Поскольку в ячейке A1 есть значение «ИНДИЯ», то же самое появилось и в окне сообщения. Таким образом, по значению ячейки VBA мы можем получить значение ячейки.

Пример # 3 - Получить значение из одной ячейки в другую.

Мы знаем, как получить значение из ячейки с помощью vba, теперь вопрос в том, как вставить значение в ячейку. Давайте возьмем тот же пример, для ячейки A1 нам нужно вставить значение «ИНДИЯ», и это можно сделать из приведенного ниже кода.

Код:

 Sub Get_Cell_Value2 () Диапазон ("A1"). Value = "INDIA" End Sub 

Это вставит значение «INDIA» в ячейку A1, аналогично, чтобы получить значение из одной ячейки в другую, мы можем написать код, как показано ниже.

Код:

 Sub Get_Cell_Value2 () Диапазон ("A5"). Значение = Диапазон ("A1"). Значение End Sub 

Позвольте мне объяснить вам код.

«Для ячейки A5 нам нужно значение, взятое из значения ячейки A1», - вот и весь этот код. Таким образом, будет получено значение из ячейки A1 в A5 с использованием кода VBA.

То, что нужно запомнить

  • Для вставки значения в ячейки и получения значения из ячейки необходимо использовать свойство VBA «VALUE».
  • Используя свойство CELLS, мы можем выбрать только одну ячейку, но с помощью объекта RANGE мы можем выбрать несколько ячеек.