20

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

8 ответов8

24

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

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

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

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

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

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

9

Пытаться

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

3

Обратите внимание, что автоподбор не работает для объединенных ячеек. Вы должны сделать это вручную.

Смотрите этот ответ Microsoft:

Вы не можете использовать функцию AutoFit для строк или столбцов, которые содержат объединенные ячейки в Excel

2

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

0

Я создал следующий код 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
0

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

Заявка.ActiveCell.WrapText = True

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

0

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

 Call Application.ActiveCell.AutoFit
0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .