Как автоматически изменить размер текстового поля, чтобы оно соответствовало содержимому в Excel?
Размер текстового поля фиксирован после его вставки на лист. Таким образом, размер не будет подстраиваться под вставленный или удаленный текст. В этой статье показаны методы для автоматического изменения размера текстового поля, чтобы оно соответствовало содержимому в Excel.
Автоматическое изменение размера текстового поля для соответствия содержимому с помощью функции изменения размера формы под текст
Автоматическое изменение размера всех текстовых полей для соответствия содержимому с помощью кода VBA
Автоматическое изменение размера текстового поля для соответствия содержимому с помощью функции изменения размера формы под текст
Вы можете изменить свойство текстового поля следующим образом, чтобы оно автоматически изменяло размер при вводе или удалении текста.
1. После вставки текстового поля щелкните правой кнопкой мыши по границе текстового поля, а затем выберите «Размер и свойства» в контекстном меню. См. скриншот:

2. Вы увидите Формат фигуры панель, которая отображается на правой стороне листа, в разделе Размер и свойства
вкладка, отметьте Изменять размер фигуры под текст флажок в разделе Текстовое поле раздел, а затем закройте Формат фигуры панель. См. скриншот:

С этого момента текстовое поле будет автоматически изменять размер, чтобы соответствовать содержимому.
Примечание: При использовании этого метода, если нужно изменить несколько текстовых полей, вам придется изменять свойства каждого текстового поля по отдельности.
Автоматическое изменение размера всех текстовых полей для соответствия содержимому с помощью кода VBA
Для листа, который уже содержит несколько текстовых полей, следующий код VBA поможет вам автоматически изменить их размер, чтобы они соответствовали содержимому сразу.
1. Нажмите клавиши Alt + F11 одновременно, чтобы открыть окно Microsoft Visual Basic for Applications.
2. В окне Microsoft Visual Basic for Applications нажмите Вставка > Модуль. Затем скопируйте и вставьте приведенный ниже код VBA в окно Модуля.
Код VBA: Автоматическое изменение размера всех текстовых полей для соответствия содержимому на листе
Sub TextBoxResizeTB()
Dim xShape As Shape
Dim xSht As Worksheet
On Error Resume Next
For Each xSht In ActiveWorkbook.Worksheets
For Each xShape In xSht.Shapes
If xShape.Type = 17 Then
xShape.TextFrame2.AutoSize = msoAutoSizeShapeToFitText
xShape.TextFrame2.WordWrap = True
End If
Next
Next
End Sub3. Нажмите клавишу F5, чтобы запустить код. Затем вы увидите, что все текстовые поля на текущем листе автоматически изменены в размере, чтобы соответствовать содержимому, как показано на скриншоте ниже.

И эти текстовые поля будут автоматически изменять размер в соответствии с введенным или удаленным содержимым при последующем использовании.
Связанная статья:
Лучшие инструменты для повышения продуктивности в Office
Повысьте свои навыки работы в Excel с Kutools для Excel и ощутите новую эффективность. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Щелкните здесь, чтобы получить наиболее нужную вам функцию...
Office Tab добавляет вкладочный интерфейс в Office, делая вашу работу значительно проще
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в новых окнах.
- Увеличьте свою продуктивность на50% и сократите сотни кликов мышью ежедневно!