Автоподбор высоты строки в excel не работает

Автоподбор высоты строки. автоподбор в ms excel ширины столбца и высоты строки по содержимому ячеек. подборка статей, которая вас должна заинтересовать

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

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

1
2
3
4
5
6
7
8
9

SubObkhodYacheyek1()

SubObkhodYacheyek()

DimmyCell()AsVariant,myElem AsVariant

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

ForEachmyElem InmyCell

Range(myElem).Select

CallPodborVysoty

Next

EndSub

Переменные:

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

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

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

1
2
3
4
5
6
7
8

SubObkhodYacheyek2()

DimmyCell()AsString,myElem AsVariant

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

ForEachmyElem InmyCell

Range(myElem).Select

CallPodborVysoty

Next

EndSub

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

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

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

Автоподбор высоты строки в Excel — особенности, описание и рекомендации

Использование специальных программных продуктов для работы с таблицами и различными базами данных существенно облегчает пользователям работу с определенными массивами информации. Самым популярным в настоящее время является использование программы Microsoft Excel. Она позволяет быстро и легко работать с таблицами.

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

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

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

  • Перетащите правую границу
    имени любого из выделенных столбцов
  • Выполните команду
    Главная – Ячейки – Формат – Ширина столбца

    . В открывшемся окне укажите нужную ширину
  • Автоматически устанавливаем ширину столбцов двойным кликом по правой рамке имени столбца, либо командой Главная – Ячейки – Формат – Автоподбор ширины столбца

    .

Чтобы изменить ширину столбцов по умолчанию – воспользуйтесь командой Главная – Ячейки – Формат – Ширина по умолчанию

. В диалоговом окне задайте нужное значение и нажмите «Ок».

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

Ширина столбца на листе может иметь значение от 0 до 255. Оно соответствует числу знаков, которые могут отображаться в ячейке, отформатированной с использованием стандартного шрифта. Ширина столбца по умолчанию составляет 8,43 знака. Если ширина столбца равна 0, он скрыт.

Высота строки может иметь значение от 0 до 409. Оно представляет высоту строки в пунктах (1 пункт соответствует приблизительно 1/72 дюйма или 0,035 см). По умолчанию высота строки составляет 12,75 пункта (примерно 1/6 дюйма или 0,4 см). Если высота строки равна 0, строка скрыта.

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

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

, затем — Параметры Excel
и выберите раздел Дополнительно
. В Excel 2010 выберите в меню Файл
пункт Параметры
, а затем — раздел Дополнительно
).

Автоматическое изменение ширины столбца в соответствии с содержимым ячеек (автоподбор)

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

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

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

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

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

Изменение высоты строки в соответствии с содержимым ячеек

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

СОВЕТ: Используйте объединение ячеек, находящихся в одной строке, взвесив все “за” и “против”, т.к. объединение ячеек служит скорее для “наведения красоты на листе”, а не для выполнения вычислений.

Не будем забывать, что MS EXCEL все таки скорее создавался для выполнения вычислений и анализа данных, а не для подготовки презентаций. Хотя, конечно, таблицы тоже должны выглядеть профессионально.

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

в некоторых случаях перестают корректно работать фильтр и Сводная таблица. Кроме того, перестает корректно работать сочетание клавиш CTRL+D (вставка значения из ячейки сверху).

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

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

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

и для чего они нужны?

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

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

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

Выравнивание ячеек под один размер в Microsoft Excel

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

Выравнивание размеров

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

Ширина столбца может варьироваться от 0 до 255 единиц (по умолчанию выставлено 8,43 пункта), высота строки – от 0 до 409 пунктов (по умолчанию 12,75 единицы). Один пункт высоты приблизительно составляет 0,035 сантиметров.

При желании единицы измерения высоты и ширины можно заменить на другие варианты.

  1. Находясь во вкладке «Файл», жмем на пункт «Параметры».
  • Сантиметры;
  • Дюймы;
  • Миллиметры;
  • Единицы (установлено по умолчанию).

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

Способ 1: выравнивание ячеек выделенного диапазона

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

  1. Выделяем диапазон на листе, в котором планируем размер ячеек сделать равным.

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

Существует альтернативный вариант данного способа. Можно выделить на горизонтальной панели координат те столбцы, ширину которых нужно сделать одинаковой. Затем кликаем по этой панели правой кнопкой мыши. В открывшемся меню выбираем пункт «Ширина столбца…». После этого открывается окошко для введения ширины столбцов выделенного диапазона, о котором мы говорили чуть выше.

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

Способ 2: выравнивание ячеек всего листа

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

  1. Кликаем по прямоугольнику, расположенному между горизонтальной и вертикальной панелями координат. Как видим, после этого весь текущий лист выделяется полностью. Существует и альтернативный способ выделения всего листа. Для этого просто набираем на клавиатуре сочетание клавиш Ctrl+A.

Способ 3: перетягивание границ

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

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

Способ 4: вставка таблицы

Если вставить скопированную таблицу на лист обычным способом, то чаще всего столбцы у вставленного варианта будут иметь разный размер. Но существует приём, который позволит избежать этого.

  1. Выделяем таблицу, которую нужно скопировать. Кликаем по значку «Копировать», который размещен на ленте во вкладке «Главная» в блоке инструментов «Буфер обмена». Можно также вместо данных действий после выделения набрать на клавиатуре сочетание клавиш Ctrl+C.

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

Мы рады, что смогли помочь Вам в решении проблемы.

Как осуществить автоматический перенос строк

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

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

Как видим, MS Excel автоподбор высоты строк в данном случае осуществил самостоятельно. Пользователю не потребовалось выполнять какие-либо дополнительные действия. Такое происходит в том случае, если человек не изменяет высоту строк самостоятельно перед применением опции «Перенос по словам». То есть высота была задана программой по умолчанию.

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

Автоматическая высота строки в Excel

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На примере ниже некоторая часть текста в столбце A не отображается, поскольку ширина ячейки слишком мала. Мы можем сделать весь текст видимым, просто изменив ширину столбца А.

  1. Наведите курсор на границу столбца справа от заголовка, он примет вид двойной стрелки.
  2. Нажмите и, не отпуская левую кнопку мыши, переместите курсор, чтобы увеличить или уменьшить ширину столбца.
  3. Отпустите левую кнопку мыши. Ширина изменится.

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

Автоподбор ширины столбца и высоты строки в Excel

Инструмент Автоподбор позволяет установить ширину столбца или высоту строки в соответствии с его содержимым.

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

Вы можете воспользоваться инструментом Автоподбор для изменения ширины сразу нескольких столбцов. Для этого выделите столбцы, которые необходимо изменить, а затем на вкладке Главная из раскрывающегося меню команды Формат выберите пункт Автоподбор ширины столбца. Этот же способ может быть использован для автоподбора высоты строки.

Изменение высоты строки в Excel

  1. Наведите курсор на нижнюю границу заголовка строки, он примет вид двойной стрелки.
  2. Нажмите и, не отпуская левую кнопку мыши, переместите курсор, чтобы увеличить или уменьшить высоту строки.
  3. Отпустите левую кнопку мыши. Высота строки изменится.

Изменение высоты всех строк на листе Excel

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

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

Вы можете выделить все ячейки на листе Excel просто нажав комбинацию Ctrl+A на клавиатуре.

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

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

‘————————————————————————————— ‘ 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 ‘ .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

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

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

Понравилась статья? Поделиться с друзьями:
Самоучитель Брин Гвелл
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: