У меня есть ячейка с обернутым текстовым содержимым в Excel, и я хочу отформатировать ячейку так, чтобы ее высота соответствовала содержимому, которое может занимать несколько строк. Как я могу добиться этого поведения?
8 ответов
С http://support.microsoft.com/kb/149663
Чтобы настроить высоту строки так, чтобы она помещалась по всему тексту в ячейке, выполните следующие действия.
Выберите строку.
В Microsoft Office Excel 2003 и более ранних версиях Excel, выберите «Строка» в меню «Формат», а затем нажмите «Автоподбор».
В Microsoft Office Excel 2007 перейдите на вкладку «Главная», нажмите «Формат» в группе «Ячейки», а затем нажмите «Автоподбор высоты строки».
Также работает, когда все строки выбраны
Пытаться
Выберите столбец -> столбец правой кнопкой мыши -> Формат ячеек -> вкладка Выравнивание -> Перенос текста
Обратите внимание, что автоподбор не работает для объединенных ячеек. Вы должны сделать это вручную.
Смотрите этот ответ Microsoft:
Если это не происходит автоматически, поместите курсор на маленькую строку между номерами строк (например, между 1 и 2) и дважды щелкните мышью, это изменит размер строки (прямо над маленькой строкой, в примере: 1) так что все видно (с вертикальной стороны).
Я создал следующий код 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
Ты знаешь макрос? Поместите следующий код в
Заявка.ActiveCell.WrapText = True
внутри вашей подпрограммы Worksheet_SelectionChange.
Решением VBA является использование следующего:
Call Application.ActiveCell.AutoFit
Единственный способ заставить его работать должным образом - выделить весь лист с помощью CTRL-A, отменить щелчок по кнопке "Обтекание текстом" на панели инструментов, а затем повторно выбрать его. Другие настройки не изменяются, но теперь каждая строка является "правильной" высотой для своего содержимого.