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

23

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

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

Ответы:

26

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

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

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

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

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

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

vaichidrewar
источник
11

Пытаться

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

hyperslug
источник
2
Ячейка уже имеет это форматирование, и я хочу, чтобы ячейка также регулировала свою высоту. Я хочу, чтобы высота строки ячейки регулировалась так, чтобы было видно все упакованное содержимое ячейки.
Манга Ли
3
Я не уверен, что вы сможете сделать это, когда содержимое ячейки изменится, но как только ваш двойной щелчок мышью на границе между номером строки и номером ниже, автоматически изменит его в соответствии с содержимым.
полковник
+1: это не плохой ответ. Если вы Wrap Textвыключите и снова включите, Excel изменит размер строки, чтобы соответствовать самой высокой строке. Не подходит, если высота строк изменяется динамически, но если вы имеете дело со статическим текстом, все должно быть в порядке.
Ли Аунг Ип
Это работало для меня в Excel 2019.
猫 IT
2

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

Ланс Робертс
источник
Это то, что вы можете сделать, когда вам мало что нужно сделать, но чем сложнее, тем больше вам придется иметь дело с этим, а это означает трату времени и энергии, срывая фокус и импульс из-за таких задач. Решение, данное Бертиебом, работает как брелок в Excel 2019.
猫 IT
0

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

Application.ActiveCell.WrapText = True

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

Toc
источник
0

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

 Call Application.ActiveCell.AutoFit
richardtallent
источник
0

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

simpleuser
источник
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
Mickg01
источник