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}  
М.б. я невнимательно смотрел, но вот этот код, по-моему, будет попроще.  
Да и с форматом разным внутри текста — нормально отрабатывает.  
Единственное НО — объединение должно быть из ячеек нескольких столбцов и ТОЛЬКО ОДНОЙ строки. Вся «кутерьма» начинается — это если объединение содержит ячейки из нескольких строк. Тогда — вопрос, как распределить высоту блока среди строк. В этом и проблема.


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

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

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

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

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

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

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

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

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

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

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

.

Содержание

  • Применение атоподбора
    • Способ 1: панель координат
    • Способ 2: включение автоподбора для нескольких строк
    • Способ 3: кнопка на ленте инструментов
    • Способ 4: подбор высоты для объединенных ячеек
  • Вопросы и ответы

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

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

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

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

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

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

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

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

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

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

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

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

  3. Становимся на нижнюю границу строки в секторе панели координат. Курсор должен приобрести вид стрелки направленной в две стороны. Делаем двойной щелчок левой кнопкой мыши.
  4. Клик по панели координат в Microsoft Excel

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

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

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

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

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

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

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

    Lumpics.ru

  3. Устанавливаем курсор на нижнюю границу любого из выделенных секторов на панели координат. При этом курсор должен принять точно такую же форму, как и в прошлый раз. Два раза щелкаем левой кнопкой мыши.
  4. Клик по панели координат с выделенным диапазоном в Microsoft Excel

  5. После выполнения вышеуказанной процедуры все строки выделенного диапазона будут увеличены в высоту на размер хранящихся в их ячейках данных.

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

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

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

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

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

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

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

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

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

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

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

  3. В открывшемся окне форматирования переходим во вкладку «Выравнивание». В блоке настроек «Выравнивание» в поле параметра «По горизонтали» выбираем значение «По центру выделения». После того, как конфигурирование произведено, жмем на кнопку «OK».
  4. Окно форматирования в Microsoft Excel

  5. После этих действий данные расположились по всей зоне выделения, хотя по факту продолжают храниться в крайней левой ячейке, так как объединения элементов, по сути, не произошло. Поэтому, если, например, нужно будет удалить текст, то сделать это можно будет только в крайней левой ячейке. Далее опять выделяем весь диапазон листа, на котором размещен текст. Любым из трех предыдущих способов, которые были описаны выше, включаем автоподбор высоты.
  6. Выравнивание по выделению в Microsoft Excel

  7. Как видим, после этих действий автоподбор высоты строки был произведен при сохраняющейся иллюзии объединения элементов.

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

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

Еще статьи по данной теме:

Помогла ли Вам статья?

Хитрости »

10 Август 2016              35660 просмотров


Подбор высоты строки/ширины столбца объединенной ячейки

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

'---------------------------------------------------------------------------------------
' Procedure : RowHeightForContent
' Author    : The_Prist(Щербаков Дмитрий)
'             http://www.excel-vba.ru
' Purpose   : Функция подбирает высоту строки/ширину столбца объединенных ячеек по содержимому
'---------------------------------------------------------------------------------------
Function RowColHeightForContent(rc As Range, Optional bRowHeight As Boolean = True)
'rc -         ячейка, высоту строки или ширину столбца которой необходимо подобрать
'bRowHeight - True - если необходимо подобрать высоту строки
'             False - если необходимо подобрать ширину столбца
    Dim OldR_Height As Single, OldC_Widht As Single
    Dim MergedR_Height As Single, MergedC_Widht As Single
    Dim CurrCell As Range
    Dim ih As Integer
    Dim iw As Integer
    Dim NewR_Height As Single, NewC_Widht As Single
    Dim ActiveCellHeight As Single
 
    If rc.MergeCells Then
        With rc.MergeArea 'если ячейка объединена
            'запоминаем кол-во столбцов
            iw = .Columns(.Columns.Count).Column - rc.Column + 1
            'запоминаем кол-во строк.
            ih = .Rows(.Rows.Count).Row - rc.Row + 1
            'Определяем высоту и ширину объединения ячеек
            MergedR_Height = 0
            For Each CurrCell In .Rows
                MergedR_Height = CurrCell.RowHeight + MergedR_Height
            Next
            MergedC_Widht = 0
            For Each CurrCell In .Columns
                MergedC_Widht = CurrCell.ColumnWidth + MergedC_Widht
            Next
            'запоминаем высоту и ширину первой ячейки из объединенных
            OldR_Height = .Cells(1, 1).RowHeight
            OldC_Widht = .Cells(1, 1).ColumnWidth
            'отменяем объединение ячеек
            .MergeCells = False
            'назначаем новую высоту и ширину для первой ячейки
            .Cells(1).RowHeight = MergedR_Height
            .Cells(1, 1).EntireColumn.ColumnWidth = MergedC_Widht
            'если необходимо изменить высоту строк
            If bRowHeight Then
                '.WrapText = True 'раскомментировать, если необходимо принудительно выставлять перенос текста
                .EntireRow.AutoFit
                NewR_Height = .Cells(1).RowHeight    'запоминаем высоту строки
                .MergeCells = True
                If OldR_Height < (NewR_Height / ih) Then
                    .RowHeight = NewR_Height / ih
                Else
                    .RowHeight = OldR_Height
                End If
                'возвращаем ширину столбца первой ячейки
                .Cells(1, 1).EntireColumn.ColumnWidth = OldC_Widht
            Else 'если необходимо изменить ширину столбца
                .EntireColumn.AutoFit
                NewC_Widht = .Cells(1).EntireColumn.ColumnWidth    'запоминаем ширину столбца
                .MergeCells = True
                If OldC_Widht < (NewC_Widht / iw) Then
                    .ColumnWidth = NewC_Widht / iw
                Else
                    .ColumnWidth = OldC_Widht
                End If
                'возвращаем высоту строки первой ячейки
                .Cells(1, 1).RowHeight = OldR_Height
            End If
        End With
    End If
End Function

Пара замечаний:

  • т.к. нельзя выставить и автоширину и автовысоту — то функция подбирает либо высоту, либо ширину, что логично
  • чтобы подбор по высоте ячеек сработал, для ячейки должен быть выставлен перенос строк(вкладка Главная -группа ВыравниваниеПеренос текста). Если ячеек много и выставлять вручную лень — можно просто убрать апостроф перед точкой в строке:’.WrapText = True ‘раскомментировать, если необходимо принудительно выставлять перенос текстатогда код сам проставит переносы. Но тут следует учитывать, что в данном случае перенос будет выставлен для всех ячеек, что не всегда отвечает условиям
  • функция подбирает высоту и ширину исключительно для объединенных ячеек. Если ячейка не объединена — код оставит её без изменений

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

Sub ChangeRowColHeight()
    Dim rc As Range
    Dim bRow As Boolean
    bRow = (MsgBox("Изменять высоту строк?", vbQuestion + vbYesNo, "www.excel-vba.ru") = vbYes)
    'bRow = True:  для изменения высоты строк
    'bRow = False: для изменения ширины столбцов
    Application.ScreenUpdating = False
    For Each rc In Selection
        RowColHeightForContent rc, bRow
    Next
    Application.ScreenUpdating = True
End Sub

Этот код также необходимо вставить в стандартный модуль. Теперь его можно будет вызвать из этой книги, нажатием клавиш Alt+F8 и выбрав ChangeRowColHeight, или создав на листе кнопку и назначив ей макрос. После этого достаточно будет выделить диапазон ячеек, среди которых есть объединенные и вызвать макрос ChangeRowColHeight. Для всех объединенных ячеек в выделенном диапазоне будет подобрана высота или ширина.
Чтобы было нагляднее — я приложил пример, в котором помимо самих кодов есть вырезка из стандартной накладной. Именно в таких документах наиболее часто встречаются подобные казусы и необходимость подбирать высоту и ширину объединенных ячеек.
Скачать пример:

  Tips_Macro_HeightWidthInMergeCell.xls (64,0 KiB, 3 476 скачиваний)

Если подобную операцию приходится производить постоянно — советую коды записать в надстройку: Как создать свою надстройку?. Так же можно воспользоваться уже готовым решением в составе MulTEx — Высота/Ширина объединенной ячейки.


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Как настроить автоподбор высоты строки для объединенных ячеек?

Добрый день

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

5ebbf85a5752a596157733.png

Спасибо!


  • Вопрос задан

    более двух лет назад

  • 786 просмотров

Пригласить эксперта

Хороший вопрос.

На данный момент никак.

Пишите предложения по улучшению из меню Помощь. Будем надеяться, что нас таких много.

Нужно выделить строку (например А), ячейки которых нужно изменить (автоподбор высоты), затем нажать правую кнопку мышки и выбрать изменить размер строки, далее выбрать «Автоподбор размера»


  • Показать ещё
    Загружается…

14 апр. 2023, в 04:52

5000 руб./за проект

14 апр. 2023, в 01:55

1000 руб./в час

13 апр. 2023, в 23:50

3000 руб./за проект

Минуточку внимания

Автоподбор высоты строк в объединенных ячейках в 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

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

 

Ответить

Автоподбор высоты объединенной ячейки с помощью кода VBA Excel, когда метод AutoFit не работает. Обработка ячеек по списку адресов из массива.

Автоподбор высоты ячейки

К сожалению, в объединенных ячейках метод VBA Excel AutoFit не работает. Но есть возможность подогнать ширину или высоту такой ячейки под длину текста с помощью макроса.

Здесь мы рассмотрим макрос для автоподбора высоты ячейки, объединенной с другими по горизонтали в одной строке, которые обычно используются в заголовках электронных таблиц Excel. Для объединенной ячейки должен быть задан перенос текста по словам: Формат ячеек >> Выравнивание >> переносить текст.

Высота ячейки будет такой, чтобы уместились все строки, на которые будет разбит контент в зависимости от ширины объединенной ячейки.

Для решения задачи по автоподбору высоты необходимо с помощью кода VBA определить:

  1. Длину текста (количество символов) в объединенной ячейке.
  2. Ширину объединенной ячейки. Длина одного символа текста со шрифтом и его размером по умолчанию приблизительно соответствует длине символа, в котором измеряется ширина ячейки.
  3. Размер шрифта, чтобы рассчитать коэффициент, увеличивающий или уменьшающий высоту ячейки в зависимости от его (шрифта) размера.

Макрос VBA Excel для автоподбора высоты ячейки с учетом размера используемого шрифта:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

Sub PodborVysoty()

Dim myCell As Range, myLen As Integer, _

myWidth As Single, k As Single, n As Single

    With Selection

        ‘Задаем объединенной ячейке перенос текста

        .WrapText = True

        ‘Задаем объединенной ячейке такую высоту строки,

        ‘чтобы умещалась одна строка текста

        .RowHeight = ActiveCell.Font.Size * 1.3

    End With

myLen = Len(CStr(ActiveCell))

    For Each myCell In Selection

        myWidth = myWidth + myCell.ColumnWidth

    Next

n = 10

k = ActiveCell.Font.Size / n

Selection.RowHeight = Selection.RowHeight * _

WorksheetFunction.RoundUp(myLen * k / myWidth, 0)

End Sub

Переменные:

  • myCell — отдельная ячейка в объединенной;
  • myLen — длина текста в активной ячейке;
  • myWidth — ширина объединенной ячейки;
  • k — коэффициент, вносящий поправку в зависимости от размера шрифта;
  • n — размер шрифта по умолчанию.*

* Это не точное значение: у меня по умолчанию установлен шрифт Calibri размером 11, но точнее код работает с n = 10. Значение переменной n подбирается опытным путем, так как длина текста зависит от процентного соотношения широких и узких символов, если шрифт не моноширинный. Переменной n можно присваивать и дробные значения для более точного автоподбора высоты.

Максимальная высота строки — 409,5. Если расчетная высота объединенной ячейки окажется больше, будет сгенерирована ошибка.

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

Обработка списка ячеек

Укажите список объединенных ячеек в качестве аргументов функции Array. Для списка используйте адреса только первых ячеек из состава объединенных.

Sub ObkhodYacheyek1()

Sub ObkhodYacheyek()

Dim myCell() As Variant, myElem As Variant

myCell = Array(«A1», «A3», «A5»)

    For Each myElem In myCell

        Range(myElem).Select

        Call PodborVysoty

    Next

End Sub

Переменные:

  • myCell — массив со списком адресов объединенных ячеек;
  • myElem — используется как элемент массива myCell.

Макрос ObkhodYacheyek по адресам из списка обращается к каждой ячейке по очереди, выделяет ее и запускает код автоподбора высоты PodborVysoty.

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

Sub ObkhodYacheyek2()

Dim myCell() As String, myElem As Variant

myCell = Split(Selection.Address, «,»)

    For Each myElem In myCell

        Range(myElem).Select

        Call PodborVysoty

    Next

End Sub


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

Содержание

  1. Автоподбор высоты строк
    • Метод 1. Автоподбор высоты через формат ячеек
    • Метод 2. Настройка высоты через координатную панель
    • Метод 3. Автоподбор высоты для нескольких строк
    • Метод 4. Использование инструментов на ленте
    • Метод 5. Настройка высоты для объединенных ячеек
  2. Заключение

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

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

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

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

Итак, давайте приступим:

  1. Щелкаем правой кнопкой мыши по ячейке/выделенному диапазону (в нашем случае выделяем всю таблицу) и в контекстном меню щелкаем по строке “Формат ячеек…”.Контекстное меню выделенных ячеек
  2. Откроется окно форматирования, в котором переключаемся во вкладку “Выравнивание”. В параметрах “Отображение” ставим галочку напротив опции “переносить текст”, после чего щелкаем OK.Выравнивание ячеек в окне форматирования
  3. Благодаря нашим действиям, содержимое выделенных ячеек полностью отобразилось в них с учетом переноса, а высота строк изменилась ровно на столько, сколько необходимо для того, чтобы полностью отобразить все данные.Автоподбор высоты строки через формат ячеек

Теперь перейдем к остальным ситуациям, когда мы имеем дело с ячейками, в которых включен перенос текста, но границы сдвинуты так, что часть информации в них не “вписывается” или, наоборот, в ячейках остается слишком много свободного места.

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

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

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

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

  1. На координатной панели вместо одной строки одновременно выделяем диапазон строк, высоту которых хотим настроить. Как это сделать, читайте в нашей статье “Как выделить ячейки в Эксель“.Выделение диапазона строк на координатной панели
  2. Теперь аналогично методу, описанному выше, двойным щелчком левой кнопки мыши автоматически задаем высоту строк. Наводить указатель мыши можно на нижнюю границу любой строки выделенного диапазона.Настройка высоты строк через координатную панель
  3. Все готово. Мы задали оптимальную высоту для всех строк, которые выбрали, выполняя первый шаг.Автоподбор высоты строк через координатную панель

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

Многие наиболее часто используемые функции программы Эксель вынесены в виде отдельных кнопок на Ленту программы. Для автоподбора высоты также предусмотрена своя собственная кнопка, и вот как ею нужно пользоваться:

  1. Отмечаем область ячеек, высоту которых нужно автоматически задать.Выделение всей таблицы Эксель
  2. Переключаемся во вкладку “Главная” и нажимаем кнопку “Формат”, которая расположена в разделе “Ячейки”. Откроется перечень команд, среди которых нам нужна строка “Автоподбор высоты строки”, следовательно, щелкаем по данному пункту.Кнопка автоподбора высоты строки на Ленте
  3. Это все, что нужно было сделать для того, чтобы автоматически задать высоту строк для выделенного фрагмента данных.Автоподбор высоты строк через инструменты на Ленте

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

Несмотря на то, что функция автоподбора высоты срок не применима к объединенным ячейкам, и эта задача вполне выполнима.

Объединенные ячейки в таблице Excel

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

  1. Сначала нужно выделить ячейки, которые мы якобы хотим объединить.Выделение ячеек в таблице Эксель
  2. Затем щелчком правой кнопки мыши по выделенному диапазону вызываем контекстное меню, в котором выбираем строку “Формат ячеек…”.Контекстное меню выделенного диапазона ячеек
  3. Переключаемся во вкладку “Выравнивание”, кликаем по текущему варианту выравнивания по горизонтали, выбираем “по центру выделения” и жмем кнопку OK.Выравнивание в окне форматирования ячеек
  4. В результате текст из первой ячейки расположился по центру выделенных элементов, при этом, объединение ячеек не было выполнено.Выравнивание по центру выделенных ячеек
  5. Теперь осталось только применить функцию автоподбора высоты строк любым из способов, описанных выше.Автоподбор высоты строк таблицы Excel

Заключение

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

Изменение ширины столбца и высоты строки

Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

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

Тип

Минимум

Максимум

По умолчанию

Столбец

0 (скрыто)

255

8,43

Строка

0 (скрыто)

409

15,00

Примечания: 

  • Если работа ведется в режиме разметки страницы (вкладка Представление, группа Представления книги, кнопка Разметка страницы), вы можете указать ширину столбца или высоту строки в дюймах, сантиметрах и миллиметрах. По умолчанию единицами измерения являются дюймы. Перейдите в раздел Файл > Параметры > Дополнительно > Отображение и выберите параметр из списка Единицы на линейке. При переключении в обычный режим, значения ширины столбцов и высоты строк будут отображаться в точках.

  • Отдельные строки и столбцы могут иметь только один параметр. Например, если для одного столбца задана ширина 25 точек, это не может быть 25 точек для одной строки и 10 для другой.

Подключитесь к эксперту. Учитесь у живых инструкторов.

Установка заданной ширины столбца

  1. Выберите столбец или столбцы, ширину которых требуется изменить.

  2. На вкладке Главная в группе Ячейки нажмите кнопку Формат.

    На вкладке "Главная" нажмите кнопку "Формат"

  3. В разделе Размер ячейки выберите пункт Ширина столбца.

  4. Введите значение в поле Ширина столбцов.

  5. Нажмите кнопку ОК.

    Совет: Чтобы быстро задать ширину одного столбца, щелкните столбец правой кнопкой мыши, выберите Ширина столбца, а затем введите требуемое значение и нажмите кнопку ОК.

  1. Выберите столбец или столбцы, ширину которых требуется изменить.

  2. На вкладке Главная в группе Ячейки нажмите кнопку Формат.

    На вкладке "Главная" нажмите кнопку "Формат"

  3. В разделе Размер ячейки выберите пункт Автоподбор ширины столбца.

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

Кнопка Выбрать все

  1. Выделите ячейку, которая имеет нужную ширину.

  2. Нажмите сочетание клавиш CTRL+C или на вкладке Главная в группе Буфер обмена нажмите кнопку Копировать.

    На вкладке "Главная" нажмите кнопку "Копировать".

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

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

  1. Выполните одно из указанных ниже действий.

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

    • Чтобы изменить ширину столбца по умолчанию для всей книги, щелкните правой кнопкой мыши ярлычок какого-либо листа, а затем выберите пункт Выделить все листы в контекстное менюTE000127572.

      Щелкните ярлычок листа

  2. На вкладке Главная в группе Ячейки нажмите кнопку Формат.

    На вкладке "Главная" нажмите кнопку "Формат"

  3. В разделе Размер ячейки выберите пункт Ширина по умолчанию.

  4. В поле Ширина столбца введите новое значение, а затем нажмите кнопку ОК.

Выполните одно из указанных ниже действий.

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

    Перетаскивание границы столбца

  • Чтобы изменить ширину нескольких столбцов, выделите столбцы, ширину которых требуется изменить, а затем перетащите правую границу заголовка любого выделенного столбца.

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

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

    Кнопка Выбрать все

  1. Выберите строку или строки, высоту которых требуется изменить.

  2. На вкладке Главная в группе Ячейки нажмите кнопку Формат.

    На вкладке "Главная" нажмите кнопку "Формат"

  3. В разделе Размер ячейки выберите пункт Высота строки.

  4. Введите значение в поле Высота строки и нажмите кнопку ОК.

  1. Выберите строку или строки, высоту которых требуется изменить.

  2. На вкладке Главная в группе Ячейки нажмите кнопку Формат.

    На вкладке "Главная" нажмите кнопку "Формат"

  3. В разделе Размер ячейки выберите пункт Автоподбор высоты строки.

    Совет: Чтобы быстро подобрать высоту всех строк листа, нажмите кнопку Выделить все и дважды щелкните нижнюю границу заголовка любой строки.

Кнопка Выбрать все

Выполните одно из указанных ниже действий.

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

    Перетаскивание границы строки

  • Чтобы изменить высоту нескольких строк, выберите нужные строки и перетащите нижнюю границу заголовка одной из выбранных строк.

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

    Кнопка Выбрать все

  • Чтобы изменить высоту строки в соответствии с содержимым, дважды щелкните нижнюю границу заголовка строки.

К началу страницы

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

  • В Excel 2007 нажмите кнопку Microsoft Office Изображение кнопки Office> Параметры Excel> Дополнительно.

  • В Excel 2010 выберите Файл > Параметры > Дополнительно.

Установка заданной ширины столбца

  1. Выберите столбец или столбцы, ширину которых требуется изменить.

  2. На вкладке Главная в группе Ячейки нажмите кнопку Формат.

    Изображение ленты Excel

  3. В разделе Размер ячейки выберите пункт Ширина столбца.

  4. Введите значение в поле Ширина столбцов.

  1. Выберите столбец или столбцы, ширину которых требуется изменить.

  2. На вкладке Главная в группе Ячейки нажмите кнопку Формат.

    Изображение ленты Excel

  3. В разделе Размер ячейки выберите пункт Автоподбор ширины столбца.

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

Кнопка Выбрать все

  1. Выделите ячейку, которая имеет нужную ширину.

  2. На вкладке Главная в группе Буфер обмена нажмите кнопку Копировать и выберите нужный столбец.

    Изображение ленты Excel

  3. На вкладке Главная в группе Буфер обмена щелкните стрелку под кнопкой Вставить и выберите команду Специальная вставка.

  4. В разделе Вставить установите переключатель в положение ширины столбцов.

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

  1. Выполните одно из указанных ниже действий.

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

    • Чтобы изменить ширину столбца по умолчанию для всей книги, щелкните правой кнопкой мыши ярлычок какого-либо листа, а затем выберите пункт Выделить все листы в контекстное менюTE000127572.

      Excel sheet tabs

  2. На вкладке Главная в группе Ячейки нажмите кнопку Формат.

    Изображение ленты Excel

  3. В разделе Размер ячейки выберите пункт Ширина по умолчанию.

  4. В поле Ширина столбца введите новое значение.

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

Выполните одно из указанных ниже действий.

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

    Перетаскивание границы столбца

  • Чтобы изменить ширину нескольких столбцов, выделите столбцы, ширину которых требуется изменить, а затем перетащите правую границу заголовка любого выделенного столбца.

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

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

    Кнопка Выбрать все

  1. Выберите строку или строки, высоту которых требуется изменить.

  2. На вкладке Главная в группе Ячейки нажмите кнопку Формат.

    Изображение ленты Excel

  3. В разделе Размер ячейки выберите пункт Высота строки.

  4. Введите значение в поле Высота строки.

  1. Выберите строку или строки, высоту которых требуется изменить.

  2. На вкладке Главная в группе Ячейки нажмите кнопку Формат.

    Изображение ленты Excel

  3. В разделе Размер ячейки выберите пункт Автоподбор высоты строки.

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

Кнопка Выбрать все

Выполните одно из указанных ниже действий.

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

    Перетаскивание границы строки

  • Чтобы изменить высоту нескольких строк, выберите нужные строки и перетащите нижнюю границу заголовка одной из выбранных строк.

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

    Кнопка Выбрать все

  • Чтобы изменить высоту строки в соответствии с содержимым, дважды щелкните нижнюю границу заголовка строки.

К началу страницы

См. также

Изменение ширины столбца или высоты строк (PC)

Изменение ширины столбца или высоты строк (Mac)

Изменение ширины столбца или высоты строк (веб-сайт)

Рекомендации, позволяющие избежать появления неработающих формул

Нужна дополнительная помощь?

Like this post? Please share to your friends:
  • Excel объединение ячеек с объединением текста
  • Excel объединение ячеек с датой
  • Excel объединение ячеек по датам
  • Excel один столбец под другим
  • Excel один столбец несколько листов