Почему не работает автоподбор высоты строки в excel
Перейти к содержимому

Почему не работает автоподбор высоты строки в excel

  • автор:

Не работает автоподбор высоты в closedXML?

Формирую отчет в excel с помощью библиотеки closedXML. И не работает автоподбор высоты строки. Перенос строки работает. Длинную строку переносит, но высота строки остается прежней, если ее растянуть, то там видна перенесенная часть строки.
Формирую это следующим образом:
worksheet.Range(«A3:T3»).Row(1).Merge();
worksheet.Range(«A3:T3»).Style.Alignment.WrapText = true;
worksheet.Cell(«A» + 3).Value = «Члены комиссии — » + chleny;
worksheet.Row(3).AdjustToContents();
worksheet.Row(3).ClearHeight();

  • Вопрос задан более года назад
  • 177 просмотров

Почему не работает автоподбор высоты строки в excel

Argument ‘Topic id’ is null or empty

Сейчас на форуме

© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru

Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.

ООО «Планета Эксел»
ИНН 7735603520
ОГРН 1147746834949
ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРНИП 310633031600071

Перенос текста не изменяет высоту строки в Excel

В Microsoft Excel, если вы вручную измените высоту строки, а затем форматируете ячейку в этой строке, чтобы перенести текст, Excel не изменит высоту строки, чтобы уместить весь текст в ячейке.

Причина

Такое поведение происходит, если вы вручную изменили высоту строки.

Обходной путь

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

  1. Выберите строку, которая требуется для регулировки высоты.
  2. В Microsoft Office Excel 2003 или более ранней версии программы Excel наведите указатель на пункт Строка в меню Формат, затем щелкните Автоподбор высоты. В Microsoft Office Excel 2007 и более поздних версиях щелкните вкладку Главная, нажмите Форматв группе Ячейки а затем нажмите Автоподбор высоты строки.

Если лист Excel содержит объединенные ячейки, посетите следующий веб-сайт Майкрософт:

Статус

Такое поведение является особенностью данного продукта.

Автоподбор в EXCEL высоты строки по содержимому при объединении ячеек

В этой статье Вы НЕ найдете решение вот такой задачи: высота строки должна подбираться автоматически (без участия пользователя) в зависимости от длины текста в ячейке (текст возвращается формулой и его длина может меняться, поэтому нужно изменять высоту строки). Статья вообще не об этом: если ячейки объединены, то стандартный автоподбор высоты по содержимому не работает (это когда Вы кликаете между заголовками строк и высота строки изменяется, чтобы вместить все содержимое ячейки), поэтому используйте вместо объединения ячеек Формат ячеек Выравнивание по центру выделения — это не панацея, но в некоторых случаях подходящая замена.

Кто заинтересовался читаем дальше.

На рисунке снизу приведена типичная ситуация: в двух объединенных ячейках А1 и В1 содержится текстовая строка (объединены 2 ячейки в одной строке). Требуется быстро подобрать по содержанию высоту строки 1 (в ячейках включена опция Переносить по словам ).

Предположим, что пользователь, желая использовать механизм автоподбора (см. статью Автоподбор ширины столбца и высоты строки по содержимому ячеек ), два раза кликает на границу между первой и второй строки и получает, то что мы видим на рисунке ниже — высота строки не достаточна для полного отображения содержимого объединенных ячеек.

Т.к. автоподбор высоты строки в этом случае не работает, то обычно ограничиваются подбором высоты строки в ручную (на глазок). Это, конечно, не удобно.

Если хотите наслаждаться автоподбором высоты строки по содержимому, то имеется 2 подхода:

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

Выравнивание по центру выделения

В некоторых случаях можно разместить данные в нескольких ячейках (без объединения ячеек) и продолжать пользоваться автоподбором высоты по содержимому. Для этого используйте опцию Формата ячеек Выравнивание по центру выделения: выделите нужные ячейки, откройте Формат ячеек ( CTRL + SHIFT + F , вкладка Выравнивание ), а в выпадающем списке Выравнивание по горизонтали установите Выравнивание по центру выделения .

Если длина текста больше области выделения, то смело можно использовать автоподбор по высоте строки. Теперь, когда мы избавились от объединенных ячеек, он сработает. Единственный минус — текст выравнивается посередине, иногда это выглядит неуместно.

СОВЕТ: Ячейки чаще всего объединяют для выравнивания заголовка листа по середине страницы. Но, чтобы это сделать, вовсе нет необходимости объединять ячейки. Достаточно их просто выделить и установить опцию Выравнивание по центру выделения .

Дополнительная ячейка

Предположим, что имеется 2 объединенных ячейки А4 (ширина 15,14) и В4 (ширина 16,14). Узнать ширину можно нажав на правую границу заголовка столбца.

Пусть как и в предыдущем разделе, пользователь, желая использовать механизм автоподбора, два раза кликает на границу между четвертой и пятой строкой и получает, что высота строки равна схлопывается до минимального размера (отображается только 1 строка).

Теперь в ячейке С4 введите формулу =А4 , а ширину ячейки сделайте равной сумме ширины А4 и В4 , т.е. 15,14+16,14=31,28.

Затем опять дважды кликните на границу между четвертой и пятой строкой.

Самое удивительное, что столбец можно скрыть — автоподбор продолжит работать!

СОВЕТ . Задать ширину столбца можно через меню Формат на вкладке Главная .

СОВЕТ : Используйте объединение ячеек, находящихся в одной строке, взвесив все «за» и «против», т.к. объединение ячеек служит скорее для «наведения красоты на листе», а не для выполнения вычислений. Не будем забывать, что MS EXCEL все таки скорее создавался для выполнения вычислений и анализа данных, а не для подготовки презентаций. Хотя, конечно, таблицы тоже должны выглядеть профессионально. Эту дилемму каждый решает по своему, лично я стараюсь не объединять ячейки без крайней необходимости. А объединение ячеек, находящихся в одном столбце (т.е. объединение строк), следует вообще избегать, особенно в таблицах с данными, т.к. в некоторых случаях перестают корректно работать фильтр и Сводная таблица . Кроме того, перестает корректно работать сочетание клавиш CTRL+D (вставка значения из ячейки сверху).

Еще : слово Автоподбор — это термин EXCEL (см. справку EXCEL), а не описание решения. В статье описано лишь стандартное средство EXCEL — Автоподбор высоты строки по содержимому ячейки. Изменять высоту строки в зависимости от значения ячейки можно лишь с помощью VBA, либо в ручную, в том числе с использованием Автоподбора (Автоподбор — это тоже в ручную, т.к. пользователь кликает между заголовками строк каждый раз, когда нужно поменять высоту).

Про поиск объединенных ячеек на листе рассказано в одноименной статье Поиск объединенных ячеек .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *