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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

5 комментариев для “VBA Excel. Выравнивание текста в ячейке”

    1. Евгений

      Привет, Ирина!
      Выровнять текст в ячейке, содержащей определенный текст, можно следующей строкой:

    2. Спасибо ! Только ячейка при формировании документа каждый раз может менять координаты . Можно, если ячейка содержит опр текст , то выравнивание ( горизонталь, вертикаль, перенос текста и раздвинуть вниз ). Спасибо .
      И если можно , то еще сразу, если ячейка которая может иметь разные координаты, содержит опр текст , то добавить сверху над ней строку (ячейку) и скопировать из этой ячейки в добавленную часть текста или весь текст. Спасибо .

    3. Евгений

      Ирина, используйте цикл For Each … Next для поиска ячейки с нужным текстом в диапазоне:

      Диапазон Selection замените на свой диапазон, а записанный в переменную myAddress адрес найденной ячейки используйте для дальнейших манипуляций с ней. Обратиться к ней можно до вставки над ней ячейки или строки – Range(myAddress), после вставки – Range(myAddress).Offset(1, 0).

  1. Искомый текст содержит кавычки. При поиске выдает синтакс ошибку т.к. два раза повторяются кавычки “Искомый”название” текст”. Убрать кавычки нельзя т.к. документ формируется из программы автоматически

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

Ваш комментарий будет опубликован после прохождения обязательной модерации. Исходящие ссылки не допускаются. Время модерации составит от нескольких минут до нескольких часов в зависимости от времени суток и занятости модератора. При добавлении в комментарий кода VBA Excel, вставьте перед его началом тег <pre> и по окончании кода </pre>.