Как я могу получить ячейку в Excel, чтобы автоматически регулировать ее высоту, чтобы соответствовать содержанию обернутого текста?

408478
Manga Lee

У меня есть ячейка с обернутым текстовым содержимым в Excel, и я хочу отформатировать ячейку так, чтобы ее высота соответствовала содержимому, которое может занимать несколько строк. Как я могу добиться этого поведения?

19
Не уверен насчет Excel 2007, но я использую Excel 2003, и это происходит автоматически, когда я вводю многострочные данные в ячейку, высота строки фиксируется при нажатии Enter. fretje 14 лет назад 0

8 ответов на вопрос

23
vaichidrewar

С http://support.microsoft.com/kb/149663

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

Выберите строку.

В Microsoft Office Excel 2003 и более ранних версиях Excel, выберите «Строка» в меню «Формат», а затем нажмите «Автоподбор».

В Microsoft Office Excel 2007 перейдите на вкладку «Главная», нажмите «Формат» в группе «Ячейки», а затем нажмите «Автоподбор высоты строки».

Также работает, когда все строки выбраны

8
hyperslug

Пытаться

Выберите столбец -> столбец правой кнопкой мыши -> Формат ячеек -> вкладка Выравнивание -> Перенос текста

Ячейка уже имеет это форматирование, и я хочу, чтобы ячейка также регулировала свою высоту. Я хочу, чтобы высота строки ячейки регулировалась так, чтобы было видно все упакованное содержимое ячейки. Manga Lee 14 лет назад 1
Я не уверен, что вы сможете сделать это, когда содержимое ячейки изменится, но как только ваш двойной щелчок мышью на границе между номером строки и номером ниже автоматически изменит его в соответствии с содержимым. Col 14 лет назад 3
+1: это не плохой ответ. Если вы выключите и снова включите «Обтекание текстом», Excel изменит размер строки в соответствии с самой высокой строкой. Не подходит, если высота строк изменяется динамически, но если вы имеете дело со статическим текстом, все должно быть в порядке. Li-aung Yip 12 лет назад 0
3
abruti

Note that autofit doesn't work on merged cells. You have to do it manually.

See this Microsoft answer:

You cannot use the AutoFit feature for rows or columns that contain merged cells in Excel

2
Lance Roberts

Если это не происходит автоматически, поместите курсор на маленькую строку между номерами строк (например, между 1 и 2) и дважды щелкните мышью, это изменит размер строки (прямо над маленькой строкой, в примере: 1) так что все видно (с вертикальной стороны).

0
Toc

Ты знаешь макрос? Поместите следующий код в

Application.ActiveCell.WrapText = True

внутри вашей подпрограммы Worksheet_SelectionChange.

0
richardtallent

Решением VBA является использование следующего:

 Call Application.ActiveCell.AutoFit 
0
simpleuser

Единственный способ заставить его работать должным образом - выделить весь лист с помощью CTRL-A, отменить щелчок по кнопке «Обтекание текстом» на панели инструментов, а затем повторно выбрать его. Другие настройки не изменяются, но теперь каждая строка является «правильной» высотой для своего содержимого.

0
Mickg01

Я создал следующий код VB, чтобы изменить размер строки заголовка, когда ячейка в диапазоне (B2: B1500), потому что значения дат выше 28.12.2014 заставят заголовок отображать предупреждение о том, что эти даты в расписании перейдут в 1-я неделя 2015 года:

Private Sub Worksheet_Change(ByVal Target As Range) Dim KeyCells As Range  ' The variable KeyCells contains the cells that will ' cause an Action when they are changed. Set KeyCells = Range("B2:B1500")  If Not Application.Intersect(KeyCells, Range(Target.Address)) _ Is Nothing Then  ' Change the height of the header row when one of the defined cdlls is changed Rows("1:1").EntireRow.AutoFit  End If End Sub 

Похожие вопросы