VBA-Урок 5. Свойства (Properties)

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

1. Запись значений в ячейку

Для начала откроем редактор, добавим модуль, скопируем туда этот макрос:

Sub Properties() 'moonexcel.com.ua
   Range ("A1")
End Sub

Мы обратились к ячейке A1 . Теперь давайте попробуем управлять данной ячейкой. Чтобы увидеть, что мы можем сделать, добавим точку после Range ("A1").

Выберите значение Value и нажмите Tab. Получим такой код:

Sub Properties() 'moonexcel.com.ua
        Range ("A1").Value
End Sub

Значение Value отображает содержимое ячейки.

Теперь давайте запишем значение 35 в ячейку A1:

Sub properties() 'moonexcel.com.ua
   Range("A1").Value = 35
   'Значение ячейки A1 равно 35
End Sub

Попробуем теперь записать текст в ячейку (когда присваиваем текстовое значение, его нужно брать в двойные кавычки ""):

Sub properties() 'moonexcel.com.ua
   Range("A1").Value = "Тут є якийсь текст"
End Sub

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

Вариант 1. Обращаемся по названию листа - Sheets("Sheet2").

Sub properties() 'moonexcel.com.ua
   Sheets("Sheet2").Range("A1").Value = "Тут є якийсь текст"
   'Означает: открыть лист 2, выбрать ячейку A1 и в ее значение записать текст
End Sub

Вариант 2. Обращаемся не по названию листа, а по его порядковому номеру - Sheets(2).

Sub properties() 'moonexcel.com.ua
   Sheets(2).Range("A1").Value = "Здесь есть какой-то текст"
End Sub

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

Sub properties() 'moonexcel.com.ua
   Workbooks("Book2.xlsx").Sheets("Sheet2").Range("A1").Value = "Здесь есть какой-то текст"
End Sub

Хотя мы указываем параметр Value в наших примерах, на самом деле его можно не использовать, поскольку он стоит по умолчанию. То есть, эти две строки кода будут эквивалентными:

Sub properties() 'moonexcel.com.ua
   Range("A1").Value = 35
   Range("A1") = 35
End Sub

2. Удаление значений

Удалим значение 35 из ячейки A1, которое мы записали в начале урока:

Sub properties() 'moonexcel.com.ua
   Range("A1").Clear
   'Означает: выбрать ячейку A1 и очистить ее
End Sub

3. Форматирование значений

Если вы выберете значение Font , то появится список параметров, которые вы сможете применить к ячейке:

Форматирование: изменение размера текста

Давайте присвоим ячейке значение 35 и уменьшим размер шрифта до 8:

Sub properties() 'moonexcel.com.ua
   Range("A1") = 35
   Range("A1").Font.Size = 8
End Sub

Форматирование: сделать текст жирным

Sub properties() 'moonexcel.com.ua
   Range("A1").Font.Bold = True
End Sub

Забрать выделение полужирным:

Sub properties() 'moonexcel.com.ua
   Range("A1").Font.Bold = False
End Sub

Форматирование: сделать текст наклонным

Sub properties() 'moonexcel.com.ua
   Range("A1").Font.Italic = True
End Sub

Форматирование: подчеркнуть текст

Sub properties() 'moonexcel.com.ua
   Range("A1").Font.Underline = True
End Sub

Форматирование: установить тип шрифта

Sub properties() 'moonexcel.com.ua
   Range("A1").Font.Name = "Arial"
End Sub

Форматирование: закрасить ячейку

Sub properties() 'moonexcel.com.ua
   Range("A1").Interior.ColorIndex = 6
End Sub

Статьи по теме:

  • VBA-Урок 4. Работа с диапазонами (Range)
  • VBA-Урок 6.1. Типы данных (Variables)