Перейти к содержимому

VBA Excel. Выравнивание текста в ячейке

Выравнивание текста и других значений в ячейке по горизонтали и вертикали из кода VBA Excel. Свойства HorizontalAlignment и VerticalAlignment. Примеры.

  1. Выравнивание по горизонтали
  2. Выравнивание по вертикали
  3. Двойное выравнивание

Выравнивание по горизонтали

Для выравнивания текста в ячейках рабочего листа по горизонтали в VBA Excel используется свойство HorizontalAlignment объекта Range. Оно может принимать следующие значения:

Выравнивание Константа Значение
По левому краю xlLeft -4131
По центру xlCenter -4108
По правому краю xlRight -4152

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

Пример 1
Заполним три первые ячейки листа Excel текстом, соответствующим предполагаемому выравниванию. Затем применим к ним выравнивание по горизонтали, а в ячейках ниже выведем соответствующие значения констант.

Sub Primer1()
'Заполняем ячейки текстом
   Range("A1") = "Левая сторона"
   Range("B1") = "Центр ячейки"
   Range("C1") = "Правая сторона"
'Применяем горизонтальное выравнивание
   Range("A1").HorizontalAlignment = xlLeft
   Range("B1").HorizontalAlignment = xlCenter
   Range("C1").HorizontalAlignment = xlRight
'Выводим значения констант
   Range("A2") = "xlLeft  =  " & xlLeft
   Range("B2") = "xlCenter  =  " & xlCenter
   Range("C2") = "xlRight  =  " & xlRight
End Sub

Выравнивание по вертикали

Для выравнивания текста в ячейках рабочего листа по вертикали в VBA Excel используется свойство VerticalAlignment объекта Range. Оно может принимать следующие значения:

Выравнивание Константа Значение
По верхнему краю xlTop -4160
По центру xlCenter -4108
По нижнему краю xlBottom -4107

Точно так же, как и по горизонтали, при выравнивании по вертикали свойству VerticalAlignment можно присваивать как значение из константы, так и непосредственно ее числовое значение.

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

Sub Primer2()
'Заполняем ячейки текстом
   Range("A3") = "Верх"
   Range("B3") = "Центр"
   Range("C3") = "Низ"
'Применяем вертикальное выравнивание
   Range("A3").VerticalAlignment = xlTop
   Range("B3").VerticalAlignment = xlCenter
   Range("C3").VerticalAlignment = xlBottom
'Выводим значения констант
   Range("A4") = "xlTop  =  " & xlTop
   Range("B4") = "xlCenter  =  " & xlCenter
   Range("C4") = "xlBottom  =  " & xlBottom
End Sub

Двойное выравнивание

В следующем примере рассмотрим выравнивание из кода VBA одновременно по горизонтали и вертикали. Причем, применим выравнивание ко всем ячейкам рабочего листа Excel, которые были задействованы в предыдущих примерах.

Пример 3
Записываем в ячейки диапазона "A1:C4" текст «Всё по центру», применяем горизонтальное и вертикальное выравнивание по центру для всего диапазона.

Sub Primer3()
   With Range("A1:C4")
      .Value = "Всё по центру"
      .HorizontalAlignment = -4108
      .VerticalAlignment = xlCenter
   End With
End Sub

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

Добавить комментарий

Ваш комментарий будет опубликован после прохождения обязательной модерации. Исходящие ссылки не допускаются. Время модерации составит от нескольких минут до нескольких часов в зависимости от времени суток и занятости модератора.