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

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

С сайта http://support.microsoft.com/kb/149663

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

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

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

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

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

Пытаться

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

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

Обратите внимание, что автофит не работает с объединенными ячейками; ¬ (вам нужно сделать это вручную.

См. Ответ Microsoft:

[Вы не можете использовать функцию автозапуска для строк или столбцов, содержащих объединенные ячейки в Excel] [1] http://support.microsoft.com/kb/212010

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

Application.ActiveCell.WrapText = True

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

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

  Call Application.ActiveCell.AutoFit 

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

Я создал следующий код VB, чтобы изменить размер строки заголовка, когда ячейка внутри диапазона (B2: B1500), поскольку значения даты выше 12/28/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 
  • Как включить цитаты в операцию CONCATENATE?
  • Excel: объединить две таблицы на основе одного столбца
  • Как превратить сотни текстовых URL в Excel в интерактивные гиперссылки?
  • Как добавить префикс перед всеми элементами данных, которые находятся в столбце B?
  • Не удалось заставить Excel распознать дату в столбце
  • Как получить несмежные коллекции ячеек из строк в Excel?
  • Как суммировать числа в диапазоне, которые имеют только определенный цвет ячейки ?
  • Сравнение двух столбцов в Microsoft Excel
  • Отключить научную нотацию в Excel
  • Сумма, если ТОЛЬКО все ячейки имеют значение?
  • Есть ли способ скопировать лист Excel без копирования всех стилей ячеек в исходной книге в целевую книгу?
  • Давайте будем гением компьютера.