Как использовать перенос текста в любом месте через vba?

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

В этом уроке мы рассмотрим различные способы применения переноса текста с помощью кода VBA.

Перенос текста в ячейке с помощью VBA

Используйте следующие шаги, чтобы применить перенос текста с помощью кода VBA.

  1. Определите ячейку, к которой вы хотите применить переносимый текст, используя свойство range .
  2. Введите точку, чтобы просмотреть список свойств и методов для этой ячейки.
  3. Выберите свойство «WrapText» из списка.
  4. Введите знак равенства «=» и введите TRUE, чтобы включить перенос слов.
 Sub vba_wrap_text() Range("A1").WrapText = True End Sub

Вы также можете указать ячейку следующим образом.

 Cells(1, 1).WrapText = True

Перенос текста в ряд ячеек

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

 Range("A1:A5").WrapText = True

Вы также можете применить его к используемому диапазону (выбор листа, в который вы вводили данные), используя свойство «UsedRange».

 Worksheets("Sheet1").UsedRange.WrapText = True ActiveSheet.UsedRange.WrapText = True
применить-перенос текста к используемому диапазону

В первой строке приведенного выше кода вы указали рабочий лист , а затем «UsedProperty», чтобы обернуть текст. Во второй строке указан используемый диапазон активного листа . Но обе линии работают одинаково.

Вот еще несколько примеров, которые вам следует знать:

  • Несплошные ячейки
  • Вся линия
  • Весь столбец
  • Именованный диапазон
некоторые-примеры-текста-переноса
 Range("A1:A10,C1:C10").WrapText = True Range("A:A").WrapText = True Range("1:1").WrapText = True Range("myRange").WrapText = True

Перенос текста по всему листу

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

 Cells.WrapText = True Worksheets("Sheet1").Cells.WrapText = True
перенос текста на весь лист

Первая строка кода относится к активному листу, а вторая строка относится к листу «Лист1». Вы также можете использовать цикл с помощью FOR EACH (For Next) , чтобы просмотреть все листы в книге и применить перенос текста ко всем ячейкам.

использование цикла для применения переноса текста
 Dim ws As Worksheet For Each ws In ActiveWorkbook.Worksheets Cells.WrapText = True Next ws

В приведенном выше коде в качестве переменной используется «ws», затем цикл For Each циклически проходит по всем листам в книге и применяется для переноса текста всего листа с использованием ячеек.

Отключить перенос текста

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

 Range("A1").WrapText = False

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *