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

 

GIG_ant

Пользователь

Сообщений: 3102
Регистрация: 24.12.2012

Добрый день, уважаемые !  
Собственно вопрос: есть файлик в нем куча строк с объединенными ячейками, в этих строках куча текста и видна в каждой строке только часть текста. Соответственно автоподбор высоты строк на объединенных не работает, а нужно увидеть весь текст и распечатать. Пока что я впал в ступор и не могу ничего придумать. Буду признателен за участие в решении этого вопроса. Наглядности в файле.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Попробуйте не автоподбор, а ширину строки (не более 409).

 

GIG_ant

Пользователь

Сообщений: 3102
Регистрация: 24.12.2012

{quote}{login=vikttur}{date=01.02.2011 03:37}{thema=}{post}Попробуйте не автоподбор, а ширину строки (не более 409).{/post}{/quote}  

  не очень понял, можно поподробней плз

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Автоподбор же как-то хотели сделать?  
Меню Формат-Строка-Высота.

 

принцип такой:  
Private Sub Worksheet_Change(ByVal Target As Range)  
Dim cell As Range  
Dim mrg As Double  
Dim rh As Double  
Dim rr As Range  
Dim iLastColumn As Long  
If Not Target.MergeCells Then Exit Sub  
If Not Intersect(Target, Range(«A3:J300»)) Is Nothing Then  
iLastColumn = Cells(1, Columns.Count).End(xlToLeft).Column + 2  
On Error Resume Next  
Set rr = Target.MergeArea  
For Each cell In rr  
mrg = mrg + Columns(cell.Column).ColumnWidth  
Next  

     Columns(iLastColumn).ColumnWidth = mrg  
   Application.ScreenUpdating = False  
   With Cells(Target.Row, iLastColumn)  
       .HorizontalAlignment = xlLeft  
       .VerticalAlignment = xlTop  
       .WrapText = True  
   End With  
Cells(Target.Row, iLastColumn) = Target.Value  
  Rows(Target.Row).Rows.AutoFit  
  rh = Rows(Target.Row).RowHeight  
Application.EnableEvents = False  
Cells(Target.Row, iLastColumn).ClearContents  
Rows(Target.Row).RowHeight = rh  
Application.EnableEvents = True  
   Application.ScreenUpdating = True  
End If  
End Sub

 

GIG_ant

Пользователь

Сообщений: 3102
Регистрация: 24.12.2012

{quote}{login=vikttur}{date=01.02.2011 03:47}{thema=}{post}Автоподбор же как-то хотели сделать?  
Меню Формат-Строка-Высота.{/post}{/quote}  
То есть в ручную подбирать для каждой строки ? К сожалению этот вариант не подходит, я мышку об стол сотру ). А другого варианта нет ? Макросом например.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Пожалейте зверька :)  
Не вручную, а по максимальной ширине текста.  
Макрос уже предложили.

 
 

GIG_ant

Пользователь

Сообщений: 3102
Регистрация: 24.12.2012

То vikttur: Или у меня сегодня день неудачный, или я все равно не пойму каким макаром вы предлагаете подобрать нужную высоту строки.  

  То Noname (который прислал макрос) : если возможно вкратце подскажите как мне этот макрос приделать под мой пример, а то я попробовал а он виснет (.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

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

 

или так: попробуйте изменить ячейку(добавить пробел, например)  

  ps  88666

 

GIG_ant

Пользователь

Сообщений: 3102
Регистрация: 24.12.2012

{quote}{login=Казанский}{date=01.02.2011 04:02}{thema=}{post}Ключевое слово — автоБодбор :)  
{/post}{/quote}  

  А я как правильный искал автоПодбор! ;-)  
Спасибо за ссылку, помогло.  

  Всем остальным спасибо за участие.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Ух ты! Это вообще красота!

 

даже автоподбор не любит Alt+Enter

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

{quote}{login=}{date=01.02.2011 04:10}{thema=}{post}или так: попробуйте изменить ячейку(добавить пробел, например){/post}{/quote}  
<Ух ты! Это вообще красота!>  
Накололся :(  
Я то сначала подумал, что это обычное поведение Excel, стоит только войти в ячейку.

 

nerv

Пользователь

Сообщений: 3071
Регистрация: 22.12.2012

Как установить: Скачать, распаковать архив. Открыть Excel, в меню «Сервис», выбрать пункт Надстройки, нажать кнопку обзор, указать путь к файлу. Закрыть Excel. После правильной установки надстройки на панели инструментов, должна появиться кнопка «Автоподбор высоты строк».  

  Как пользоваться: так же, как и обычным подбором высоты строк.  

  Цель надстройки: забыть о том, что существует какая-то разница между подбором строк с объединенными или обычными ячейками.  

    Тем, кто будет пользоваться: в случае обнаружения ошибки, просьба написать по адресу: nerv-net@yandex.ru. Так же принимаются замечания и предложения : )

 

VovaK

Пользователь

Сообщений: 1716
Регистрация: 01.01.1970

 

nerv

Пользователь

Сообщений: 3071
Регистрация: 22.12.2012

Большое спасибо за пример! Такой случай я не рассматривал, хотя в голове уже вертится приблизительный алгоритм его решения. Посмотрим, удастся ли его воплотить : )  

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

 

VovaK

Пользователь

Сообщений: 1716
Регистрация: 01.01.1970

Nerv, Не в обиду. Вы выложили недоработанную надстройку и закрыли ее от просмотра. Цель? Я не осуждаю, но на этом форуме мы у друг друга учимся, а так — во что форум превратится? Не спортивно.  

  GiGant, посмотрите пожалуйста прилагаемый файл. Немножко попробовал варианты, в общем случае не работает только, если в строке есть индивидуальный формат шрифта в тексте. В остальном повторяет стандартный.

 

GIG_ant

Пользователь

Сообщений: 3102
Регистрация: 24.12.2012

{quote}{login=VovaK}{date=28.07.2011 01:03}{thema=}{post}Nerv,    
GiGant, посмотрите пожалуйста прилагаемый файл. Немножко попробовал варианты, в общем случае не работает только, если в строке есть индивидуальный формат шрифта в тексте. В остальном повторяет стандартный.{/post}{/quote}  

  Спасибо за беспокойство. Дело в том что мне помогли предыдущие посты, при этом взял на заметку ваш вариант. Не пойму почему тема всплыла, см . дату первого поста ))

 

nerv

Пользователь

Сообщений: 3071
Регистрация: 22.12.2012

to GIG_ant: «Не пойму почему тема всплыла»  
У меня спортивный интерес)  

  to VovaK: «Вы выложили недоработанную надстройку и закрыли ее от просмотра. Цель?»  
Надстройка ориентирована на обычного пользователя. За открытым кодом просьба обращаться на мой почтовый ящик.  

    Постарался учесть замечания в примере от VovaK.  
Автоподбор высоты. Версия 2.5 beta

 

> Автоподбор высоты. Версия 2.5 beta  

  высота подбирается не совсем точно…  

http://excelvba.ru/XL_Files/Sample__30-07-2011__15-31-17.zip  

  Но, полагаю, в общем случае автоподбор высоты таких ячеек — задача весьма нетривиальная, и алгоритм будет достаточно сложным.  

  PS: Я тоже когда-то пытался сделать подобный макрос:  

http://excelvba.ru/code/AutoFitMergedCells

 

nerv

Пользователь

Сообщений: 3071
Регистрация: 22.12.2012

Позвольте поблагодарить Вас за пример : )  

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

  На Вашем примере:  
1. Выделяем ВЕСЬ лист, подбираем высоту  
2. Выделяем строку 3, подбираем высоту  
3. Выделяем строку 4, подбираем высоту  
4. Выделяем строку 5, подбираем высоту  

  На данный момент это все делается руками, но можно и автоматизировать : )  
Опять таки, следует оговориться, это решение на скорую руку, и как оно будет вести себя на бланках документов, отдельная тема. Хотя, по идее, должно быть все правильно)

 

nerv

Пользователь

Сообщений: 3071
Регистрация: 22.12.2012

Применил немного другой алгоритм, в отличии от описанного выше.  

  Попытался учесть замечания от EducatedFool.  
Автоподбор высоты. Версия 2.7 beta

 

nerv

Пользователь

Сообщений: 3071
Регистрация: 22.12.2012

эм, ну как то так…  

  Автоподбор высоты. Версия 2.7

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

nerv, это Вы с кем разговариваете?:-)

Я сам — дурнее всякого примера! …

 

nerv

Пользователь

Сообщений: 3071
Регистрация: 22.12.2012

KukLP, я все пытаюсь победить автоподбор. Пока ничья)  
Устраняю недочеты, и выкладываю обновленную надстройку : )

 

Начальника

Пользователь

Сообщений: 1
Регистрация: 04.08.2011

макрос закрыл, но могу поделиться!  
ну а кому сильно надо — сами пароль подберут :-)

 

nerv

Пользователь

Сообщений: 3071
Регистрация: 22.12.2012

 

гость

Гость

#30

05.08.2011 11:34:17

{quote}{login=nerv}{date=01.08.2011 09:22}{thema=}{post}KukLP, я все пытаюсь победить автоподбор. Пока ничья)  
Устраняю недочеты, и выкладываю обновленную надстройку : ){/post}{/quote}  
М.б. я невнимательно смотрел, но вот этот код, по-моему, будет попроще.  
Да и с форматом разным внутри текста — нормально отрабатывает.  
Единственное НО — объединение должно быть из ячеек нескольких столбцов и ТОЛЬКО ОДНОЙ строки. Вся «кутерьма» начинается — это если объединение содержит ячейки из нескольких строк. Тогда — вопрос, как распределить высоту блока среди строк. В этом и проблема.

Автоподбор высоты строки в Microsoft Excel

Каждый пользователь, работающий в Экселе, рано или поздно встречается с ситуацией, когда содержимое ячейки не вмещается в её границы. В таком случае существует несколько выходов из сложившегося положения: сократить размер содержимого; смириться с существующей ситуацией; расширить ширину ячеек; расширить их высоту. Как раз о последнем варианте, а именно об автоподборе высоты строки мы и поговорим дальше.

Применение атоподбора

Автоподбор — это встроенный инструмент Excel, который помогает произвести расширение ячеек по содержимому. Сразу нужно отметить, что несмотря на название эта функция не применяется автоматически. Для того, чтобы расширить конкретный элемент, нужно выделить диапазон и применить к нему указанный инструмент.

Кроме того, нужно сказать, что автоподбор высоты применим в Эксель только для тех ячеек, у которых в форматировании включен перенос по словам. Для того чтобы включить это свойство выделяем на листе ячейку или диапазон. Кликаем по выделению правой кнопкой мыши. В запустившемся контекстном списке выбираем позицию «Формат ячеек. ».

Переход в формат ячеек в Microsoft Excel

Происходит активация окна форматирования. Переходим во вкладку «Выравнивание». В блоке настроек «Отображение» устанавливаем флажок напротив параметра «Переносить по словам». Чтобы сохранить и применить изменения конфигурации настроек, жмем на кнопку «OK», которая размещена внизу этого окна.

Формат ячеек в Microsoft Excel

Теперь на выделенном фрагменте листа включен перенос по словам и к нему можно применять автоподбор высоты строки. Рассмотрим, как это сделать различными способами на примере версии Excel 2010. Вместе с тем нужно заметить, что полностью аналогичный алгоритм действий можно использовать как для более поздних версий программы, так и для Excel 2007.

Способ 1: панель координат

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

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

Выделение строки в Microsoft Excel

Клик по панели координат в Microsoft Excel

Высота строки увеличена в Microsoft Excel

Способ 2: включение автоподбора для нескольких строк

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

    Выделяем на панели координат весь диапазон строк, к которым нужно подключить указанную функцию. Для этого зажимаем левую кнопку мыши и проводим курсором по соответствующему отрезку панели координат.

Выделение диапазона в Microsoft Excel

Если диапазон сильно большой, то кликаем левой кнопкой мыши по первому сектору, потом зажимаем кнопку Shift на клавиатуре и выполняем щелчок по последнему сектору панели координат требуемой области. При этом все её строки будут выделены.

Выделение диапазона вторым способом в Microsoft Excel

Клик по панели координат с выделенным диапазоном в Microsoft Excel

Высота строк диапазона увеличена в Microsoft Excel

Урок: Как выделить ячейки в Excel

Способ 3: кнопка на ленте инструментов

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

    Выделяем диапазон на листе, к которому нужно применить автоподбор. Находясь во вкладке «Главная», производим щелчок по кнопке «Формат». Данный инструмент размещен в блоке настроек «Ячейки». В появившемся списке в группе «Размер ячейки» выбираем пункт «Автоподбор высоты строки».

Включение автоподбора высоты через ленту в Microsoft Excel

Автоподбор применен в Microsoft Excel

Способ 4: подбор высоты для объединенных ячеек

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

Объединенная ячейка в Microsoft Excel

  1. Выделяем те ячейки, которые нужно объединить. Кликаем по выделению правой кнопкой мыши. В меню переходим по пункту «Формат ячеек. ».

Переход к форматированию ячеек в Microsoft Excel

Окно форматирования в Microsoft Excel

Выравнивание по выделению в Microsoft Excel

Выравнивание произведено в Microsoft Excel

Чтобы вручную не выставлять высоту каждой строки в отдельности, тратя на это уйму времени, особенно если таблица большая, лучше воспользоваться таким удобным инструментом Excel, как автоподбор. С его помощью можно автоматически скорректировать размер строчек любого диапазона по содержимому. Единственная проблема может возникнуть, если вы работаете с областью листа, в которой расположены объединенные ячейки, но и в этом случае тоже можно найти выход из сложившейся ситуации путем выравнивания содержимого по выделению.

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

Ermine Участник Группа: Members Зарегистрирован: 08-09-2006 Сообщений: 70 UA: Firefox2.0

Excel 2007 неправильно делает автоподбор высоты ячейки

Если в ячейке таблицы, редактируемой в русском Excel 2007 SP1, много-много текста, то Excel 2007 неправильно делает автоподбор высоты для этой ячейки при печати и/или при обычном просмотре. Может обрезаться полностью или частично одна строка снизу. Происходит это не всегда и не со всеми ячейками, коих много на странице.
Помогают игры с шириной ячеек и размером шрифта. Но если устаканивается с одной ячейкой, кривится другая. Если изменять размер вручную, при распечатке это всё равно выглядит не так: много пустого места в нижней части ячейки остаётся.

У вас есть такое?

Какая вообще программа предназначена для того, чтобы:
а) иметь возможность создания и беспроблемного распечатывания относительно больших объёмов текстов внутри одной ячейки таблицы; возможность использования чуть больше возможностей по оформлению текста, чем простое изменение гарнитуры, кегля, начертания: списки, расстояния между абзацами, — но это необязательно;
б) иметь возможность суммирования ячеек таблицы. И итоги разных таблиц на разных страницах.

Word хорошо делает первое, Excel — второе.

Дата Мероприятие Взял Потратил

Отредактировано Ermine (23-01-2008 03:46:31)

№2 23-01-2008 07:21:55

Infant «» Группа: Extensions Откуда: Одесса Зарегистрирован: 23-12-2004 Сообщений: 3671 UA: Firefox2.0

Re: Excel 2007 неправильно делает автоподбор высоты ячейки

Ermine

Word хорошо делает первое, Excel — второе.

Никогда не понимал извращенцев, которые используют электронные таблицы для набора и печати текстов. А такое примитивное действие как суммирование столбцов/строк своих таблиц может даже Word. Сейчас МСО нет под рукой, но OOo.Writer это точно делать умеет. Так что надо правильно выбирать приложение для работы.

P.S. Почему не в Access?

Благодарю алфавит за любезно предоставленные буквы.

№3 23-01-2008 11:25:50

Ermine Участник Группа: Members Зарегистрирован: 08-09-2006 Сообщений: 70 UA: Firefox2.0

Re: Excel 2007 неправильно делает автоподбор высоты ячейки

Infant, вот я потому и спрашиваю, что лучше использовать. Был бы я извращенцем, я бы продолжал либо вручную считать в Ворде, либо мучиться с высотой ячеек в Экселе. Однако я вовремя остановился и обратился к более опытным людям. 😉
Про функции суммирования в ворде я не слышал. Посмотрю. Посмотрел. Хило. Нужно вручную обновлять, что неудобно, но простительно. И функции там только для текущей таблицы вроде, как Вы и говорили. А это не подходит. Нужна работа с несколькими одинаковыми по типу таблицами таблицами. Хотя, может, есть возможность, смотрю дальше.
Про Аксесс я тоже думал (благо СУБД, должна уметь такое). Дайте добро :), что Аксесс позволит выполнить мою задачу, — и я буду с ним разбираться. С ним я работал лишь с базой клиентов, на основе которых печатал наклейки на конверты.

Отредактировано Ermine (23-01-2008 11:45:25)

№4 23-01-2008 11:58:44

Ermine Участник Группа: Members Зарегистрирован: 08-09-2006 Сообщений: 70 UA: Firefox2.0

Re: Excel 2007 неправильно делает автоподбор высоты ячейки

Какая красотень этот Access 2007!

№5 23-01-2008 19:27:19

Infant «» Группа: Extensions Откуда: Одесса Зарегистрирован: 23-12-2004 Сообщений: 3671 UA: Firefox2.0

Re: Excel 2007 неправильно делает автоподбор высоты ячейки

Ermine

Был бы я извращенцем, я бы продолжал либо вручную считать в Ворде

Почему вручную? Там же формулы поддерживаются. Только более простые по сравнения с электронной таблицей. В OOo это делается так: ставим курсор в нужную ячейку; жмакаем F2 и переходим в режим ввода формулы; далее действуем в зависимости от того что за формула нужна. Причём формулы чудно копируются с заменой адресов ячеек и т.д. Я так себе протоколы на работе все делаю. Особенно полезно при «подгонке» результатов. :)

Добавлено Wed Jan 23 19:36:29 2008 :
По поводу функционала МСО в ближайшее время не скажу, но в OOo.Writer можно ссылаться и на ячейки других таблиц. Обычная ссылка выглядит как <C1>. То есть ячейка C1 в этой таблице (все таблицы автоматически получают номера). Если хотим сделать ссылку на ячейку из другой таблицы, то просто пишем <Таблица2:C2>. Всё это я прочитал во встроенной справке. Результаты автоматически обновляются при изменении значений в зависимых ячейках. Видимо это какая-то настройка.
По поводу сможет ли Access делать то что ты хочешь, так я и сам знаю только что это БД. А они, как известно, позволяют создавать свои формы для вывода информации. В принципе это была скорее даже шутка. Сначала хотел написать Paint, да подумал что никто не оценит такую «тонкость».

Благодарю алфавит за любезно предоставленные буквы.

№6 23-01-2008 19:42:29

Anton Участник Группа: Extensions Откуда: от верблюда Зарегистрирован: 14-12-2004 Сообщений: 3057 UA: Firefox2.0 Веб-сайт

Re: Excel 2007 неправильно делает автоподбор высоты ячейки

Можно сделать связку документ Word + таблица Excel. В Excel считаем, в документе Word — связи с ячейками таблицы.

Время настанет, время придет.
И лис к О нкурiе нтов на части порвет .

№7 24-01-2008 22:01:33

St.MPA3b Участник Группа: Members Откуда: Москва Зарегистрирован: 23-05-2005 Сообщений: 1852 UA: Konqueror3.5

Автоподбор высоты ряда не работает

Chr (10) вместо vbNewLine — не помогает
Работает, только если я пишу без разрывов строк:

5 ответов

Убедитесь, что в ячейках с разрывами строки включен параметр «Перенос текста». Вы можете включить его с помощью VBA так:

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

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

Обходной путь VBA заключался в использовании запасной ячейки в той же строке и заполнении ее тем же количеством Chr (10), которое содержится в одной (любой) из многострочных ячеек. Затем вызовите автоподбор для этой ячейки, теперь содержащей такое же количество невидимых переводов строки. Убедитесь, что в свободной ячейке шрифт и размер совпадают!

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


Если текст содержится в объединенных ячейках, то автоподбор высоты строки не сработает.

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

автоподбор высоты по содержимому

не работает (это когда Вы кликаете между заголовками строк и высота строки изменяется, чтобы вместить все содержимое ячейки), поэтому используйте вместо объединения ячеек Формат ячеек

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

это не панацея, но в некоторых случаях подходящая замена.

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

На рисунке снизу приведена типичная ситуация: в двух объединенных ячейках

А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, либо в ручную, в том числе с использованием Автоподбора (Автоподбор — это тоже в ручную, т.к. пользователь кликает между заголовками строк каждый раз, когда нужно поменять высоту).

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

Поиск объединенных ячеек

.

Автоподбор высоты строк в объединенных ячейках в excel 2016

garbol

Дата: Пятница, 28.06.2019, 16:13 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 30


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

Подскажите пожалуйста, как сделать Автоподбор высоты строк в объединенных ячейках в в excel 2016, 2019? Надстройка AutoFit.xla не работает на 2016 офисе (по крайней мере у меня, офис переустанавливал несколько раз), других вариантов не нашел. Заранее благодарен.

 

Ответить

_Boroda_

Дата: Пятница, 28.06.2019, 16:38 |
Сообщение № 2

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

garbol

Дата: Пятница, 28.06.2019, 16:40 |
Сообщение № 3

Группа: Пользователи

Ранг: Новичок

Сообщений: 30


Репутация:

0

±

Замечаний:
0% ±


Excel 2016


Да пробовал, но эта надстройка не устанавливается на 2016-2019 офисах. На форумах так же находил сообщения, о том что не работает и у других.

 

Ответить

_Boroda_

Дата: Пятница, 28.06.2019, 16:43 |
Сообщение № 4

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Нет, не из первого поста, а из того, на который я ссылку дал, из четвертого. Там не надстройка, там просто макрос


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

garbol

Дата: Пятница, 28.06.2019, 16:53 |
Сообщение № 5

Группа: Пользователи

Ранг: Новичок

Сообщений: 30


Репутация:

0

±

Замечаний:
0% ±


Excel 2016


Не получилось у меня, с макросами не подружился еще, по инструкции в нете смотрел, может можно Вас попросить, сделать мне лист с макросом. Заранее благодарен. С надстройками проще работать.

 

Ответить

_Boroda_

Дата: Пятница, 28.06.2019, 21:02 |
Сообщение № 6

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Дело в том, что именно этот макрос на лист бесполезно класть, его нужно положить в Персонал
1. Как проверить, есть ли Персонал
В Excel жмете Альт+F11, появляется окно VBA, на всякий случай жмете Контрл+R, смотрите маленькое окошко Проджект, если там есть Персонал, то хорошо, если нет, то сейчас создадим его
2. Как создать Персонал
Вкладка «Разработчик» (или вкладка «Вид» — Макросы) — кнопка «Запись макроса». Жмем ее, в появившемся окошке в строке «Сохранить в» выбираем «Личная книга макросов», жмем «ОК», по тому же пути жмем кнопку «Остановить запись» (она появится вместо кнопки «Запись макроса»)
Снова смотрим в окошко Прождект (см. п.1), там появится Персонал
3. Как вставить код в модуль Персонала»
В окошке Проджект топаем мышой на крестик рядом с Персоналом, появится папка Модули, топаем на крестик рядом с ней, появятся существующие в Персонале модули, правой мышой в любое место внутри (например, на Модуль1) — Инсерт — Модуль, появится новый модуль, открываем его даблкликом (откроется большое окно справа), вставляем туда скопированный заранее код (или пишем свой)
Если мы только что создали новый Персонал, то у нас есть Модуль1 с ненужным нам кодом, тогда мы не создаем Инсертом новый модуль, а открываем Модуль1, стираем все, что там написано и вставляем свой код
4. Как вывести макрос на кнопку в панели быстрого доступа (ПБД)
Жмем правой мышой на пустое место ленты Excel — Настройка панели быстрого доступа — в «Выбрать команды из» выбираем пункт «макросы» — в списке ниже появится макрос «MergeCell_AutoHeight», даблклик на него, он переместится в список правее — можно (не обязательно) выделить его мышой, нажать «Изменить», выбрать иконку, переписать надпись-подсказку- ОК
Теперь наш макрос есть на ПБД и мы можем им пользоваться в любом файле Excel

К сообщению приложен файл:

4578810.jpg
(23.6 Kb)


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

garbol

Дата: Понедельник, 01.07.2019, 10:05 |
Сообщение № 7

Группа: Пользователи

Ранг: Новичок

Сообщений: 30


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

Благодарю!!!!! Все сделал, все понял. Но макрос ни как не реагирует. Может он заточен под конкретное количество объединенных ячеек? Пробовал этот код который в файле приложения, как я понял он заточен под 4 объединенные ячейки. Что не так с рекомендуемым кодом?

Сообщение отредактировал garbolПонедельник, 01.07.2019, 11:00

 

Ответить

garbol

Дата: Понедельник, 01.07.2019, 11:07 |
Сообщение № 8

Группа: Пользователи

Ранг: Новичок

Сообщений: 30


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

Разобрался. Надо перенос слов ставить, поэтому не работало. Благодарю.

 

Ответить

При работе в табличном процессоре Эксель часто возникают такие моменты, когда информация, располагающаяся в ячейке, вылезает за границы. Для корректного отображения можно убрать ненужную информацию из ячейки, но это неэффективный способ, так как он сулит потерей полноты информации. Отличное решение – перемещение границ ячейки для умещения всех данных. В статье мы разберем несколько вариантов правильного задания высоты строчки автоматическим способом.

Содержание

  1. Что такое высота строки в Microsoft Excel
  2. Как выглядит таблица до использования автоподбора, по каким причинам он может понадобиться
  3. Автоподбор высоты строк
  4. Метод 1. Автоподбор высоты через формат ячеек
  5. Метод 2. Настройка высоты через координатную панель
  6. Метод 3. Автоподбор высоты для нескольких строк
  7. Метод 4. Использование инструментов на ленте
  8. Метод 5. Настройка высоты для объединенных ячеек
  9. Как задать точную высоту строк?
  10. Когда невозможно сделать автоподбор высоты строки
  11. Заключение

Что такое высота строки в Microsoft Excel

Высота строчки – один из параметров табличной информации. Стандартно высота способна уместить в себя текст, написанный в одну строчку. При включенной возможности переноса строк, высота столбика самостоятельно увеличивается так, чтобы вся информация, находящаяся в ячейке, корректно показывалась в ней.

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

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

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

1

Мы прекрасно видим, что здесь находится много ячеек, в которых не поместился введенный текст. В этой ситуации пользователю нельзя увеличивать ширину столбиков, так как при печати вся табличка не уместится на бумажном листе. Для корректного отображения всех данных, находящихся в ней, необходимо применить один из способов автоматического подбора высоты строки. О всех методах вы можете узнать, прочитав информацию, располагающуюся ниже.

Автоподбор высоты строк

Автоматический подбор высоты строчки – это специальный инструмент, реализующий подстраивание высоты каждой ячейки строчки под наполнение самой заполненной ячейки. Стоит заметить, что ширина в этом случае не изменяется. Функция автоматически настраивает границы, но при этом большинство манипуляций производится самостоятельно. Реализовать автоматический подбор можно несколькими методами. Поговорим о каждом более детально.

Метод 1. Автоподбор высоты через формат ячеек

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

  1. Жмем ПКМ по ячейке или диапазону. В рассматриваемом варианте мы производим выделение всей таблички. Отображается небольшое контекстное меню. Находим «Формат ячеек…» и кликаем по нему ЛКМ.

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

2
  1. На дисплее отобразилось окошко под названием «Формат ячеек». Передвигаемся в подраздел «Выравнивание». Находим блок команд «Отображение» и устанавливаем отметку рядом с параметром «Переносить текст». После проведения всех манипуляций кликаем «ОК».

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

3
  1. Готово! После проведения всех процедур наполнение выбранных ячеек целиком отобразилось в них. Высота строчек видоизменилась таким образом, чтобы вся информация, находящаяся в ячейках, отобразилась полностью.

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

4

Внимание! Бывает так, что в диапазонах во включенном состоянии находится перенос текста по словам, но данные все равно не помещаются в ячейках или же, наоборот, остается много пустого места. Чтобы понять, как устранить эту проблему, рассмотрим следующие способы.

Метод 2. Настройка высоты через координатную панель

Подробная инструкция имеет следующий вид:

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

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

4
  1. Перемещаем курсор мышки на нижнюю часть выбранной строчки. Указатель примет вид двух стрелочек, указывающих в противоположные стороны. Жмем два раза ЛКМ.

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

6
  1. Готово! После проведения этой процедуры высота выбранной строчки автоматически изменилась так, что теперь все ячейки смогли уместить информацию, содержащуюся в них. Границы столбиков при этом никак не изменились.

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

7

Метод 3. Автоподбор высоты для нескольких строк

Вышеописанный способ не подходит при работе с большими объёмами данных, так как придётся тратить много времени на выделение каждой строчки таблички. Существует еще один метод, значительно экономящий время. Подробная инструкция имеет следующий вид:

  1. Снова находим координатную панель вертикального типа. Теперь производим выделение не одной строки, а сразу всех, размер которых мы планируем изменить.

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

8
  1. Так же, как и в предыдущем варианте, два раза кликаем ЛКМ по номеру строчки, пока указатель не примет вид двух стрелочек, указывающих в противоположные стороны. Эта процедура позволит реализовать автоматический подбор высоты.

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

9
  1. Готово! Мы реализовали корректную высоту для каждой выделенной строчки, и теперь вся информация правильно отображается в выбранных ячейках.

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

10

Метод 4. Использование инструментов на ленте

Большинство полезных функций табличного процессора располагается в верхней части интерфейса на специальной ленте инструментов. Здесь существует особый элемент, позволяющий реализовать автоматический подбор высоты. Подробная инструкция выглядит следующим образом:

  1. Производим выделение той области, автоматический подбор высоты которой мы планируем произвести.

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

11
  1. Перемещаемся в раздел под названием «Главная», располагающийся в верхней части интерфейса табличного процессора. Находим блок команд «Ячейки» и выбираем элемент «Формат». В раскрывшемся списке находим кнопку «Автоподбор высоты строки» и жмем на нее.

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

12
  1. Готово! Мы реализовали корректную высоту для каждой выделенной строчки и теперь вся информация корректно отображается в выбранных ячейках.

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

13

Метод 5. Настройка высоты для объединенных ячеек

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

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

14

Смысл этого способа состоит в том, что мы не будем осуществлять процедуру объединения ячеек, а просто сделаем видимость соединения ячеек, что позволит нам применить автоматический подбор. Подробная инструкция имеет следующий вид:

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

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

15
  1. Жмем ПКМ по выбранной области. На экране отобразилось контекстное меню. Находим элемент под названием «Формат ячеек…» и жмем по нему ЛКМ.

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

16
  1. На дисплее появилось окошко «Формат ячеек». Передвигаемся в раздел «Выравнивание». Раскрываем самый первый список и кликаем на надпись «По центру выделения». После проведения всех манипуляций жмем на «ОК».

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

17
  1. Информация, находящаяся в первой ячейке, отобразилась в центре выбранных ячеек. Стоит отметить, что никакого объединения не произошло. Мы просто создали видимость объединения.

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

18
  1. На последнем этапе мы используем функцию автоматического подбора высоты строчки одним из вышеописанных методов.

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

19
  1. Готово! Мы реализовали корректную высоту для каждой выделенной строки, и теперь вся информация корректно отображается в выбранных ячейках.

Стоит отметить! Каждый алгоритм действий отлично подходит, как для ранних версий табличного процессора Эксель, так и для самых последних.

Рассмотрим небольшой пример, в котором применим полученные знания по автоматическому подбору высоты строки. К примеру, у нас есть следующая табличка, которую мы должны привести к корректному отображению на рабочем листе:

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

20

Наша цель: реализовать правильное отображение данных в табличке в одну строчку. Подробная инструкция имеет следующий вид:

  1. При помощи комбинации клавиш на клавиатуре «CTRL+A» производим выделение всех значений.
  2. Высота строчек изменилась так, что теперь данные отображаются в одну строчку. Часть информации не видно. Нам необходимо сделать так, чтобы все данные отображались на рабочем листе полностью.

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

21
  1. Производим выделение столбиков А, В и С.
  2. Наводим курсор мышки к разделу столбиков А и В и два раза кликаем ЛКМ.

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

22
  1. Готово! Цель выполнена. Теперь вся информация, располагающаяся в ячейках рабочего листа, корректно отображается.

Как задать точную высоту строк?

Часто пользователи табличного процессора Эксель сталкиваются с такой ситуацией, когда необходимо задать точную высоту строчки при работе с какой-либо табличной информацией. Подробная инструкция имеет следующий вид:

  1. На рабочем листе табличного процессора производим выделение необходимых строчек при помощи левой кнопки мыши, точную высоту которым мы планируем задать.
  2. Кликаем ПКМ по выделенной области рабочего листа.
  3. На экране отобразилось небольшое контекстное меню. Находим элемент под названием «Высота строки» и жмем по нему ЛКМ.
  4. На экране появилось окошко под названием «Высота строки». В поле ввода вбиваем необходимую нам высоту строчки в пунктах. Три пункта – примерно один миллиметр.
  5. После проведения всех манипуляций щелкаем на кнопку «ОК», располагающуюся в нижней части окошка.

avtopodbor-vysoty-stroki-v-excel-po-soderzhimomu-5-metodov-nastrojki

23
  1. Готово! Мы реализовали указание точной высоты строчки в табличном процессоре Эксель.

Запомните! Стандартная высота строчки равна 12.75 пикселей.  

Когда невозможно сделать автоподбор высоты строки

Случаются неприятные ситуации, когда все вышеприведенные способы не позволяют реализовать автоматический подбор высоты строки. Чаще всего причина неправильной работы функции заключается в том, что пользователь объединил ряд ячеек между собой.

Не забывайте, что автоматический подбор высоты строчки не применяется к объединенным ячейкам. В случае совмещения ячеек придется осуществлять процедуру подбора оптимальных параметров самостоятельным образом. Здесь существует два варианта решения данной проблемы:

  1. Ручное растягивание границ при помощи зажатия ЛКМ.
  2. Применение функции точного задания высоты строчки.

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

Заключение

Как мы видим, реализовать процедуру автоматического подбора высоты в табличном процессоре Эксель можно несколькими различными методами. Вариант, позволяющий задать высоту для каждой строчки отдельно, отлично подходит для работы с небольшими объёмами данных. Для осуществления работы с большими таблицами следует обратить внимание на другие способы. Большое число способов автоматического подбора позволяет каждому пользователю подобрать для себя более удобный вариант.

Оцените качество статьи. Нам важно ваше мнение:

Понравилась статья? Поделить с друзьями:
  • Почему не работает автозаполнение ячеек в excel
  • Почему не работает word на компьютере
  • Почему не работает word of tanks
  • Почему не работает word 2019
  • Почему не работает vba в excel