Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

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

Author Xiaoyang Last modified

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

Эта статья представляет несколько практических методов, которые помогут эффективно подогнать высоту строки объединенных ячеек, экономя время и помогая сохранить чистый и читаемый лист:

Автоподбор высоты строки объединенных ячеек с помощью кода VBA

Использование переноса текста и ручной настройки


Автоподбор высоты строки объединенных ячеек с помощью кода VBA

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

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

sample data

1. Удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

2. Нажмите Вставка > Модуль, затем скопируйте и вставьте следующий код в окно Модуля:

Код VBA: Автоподбор высоты строки нескольких объединенных ячеек
Option Explicit
Public Sub AutoFitAll()
  Call AutoFitMergedCells(Range("a1:b2"))
   Call AutoFitMergedCells(Range("c4:d6"))
    Call AutoFitMergedCells(Range("e1:e3"))
End Sub
Public Sub AutoFitMergedCells(oRange As Range)
  Dim tHeight As Integer
  Dim iPtr As Integer
  Dim oldWidth As Single
  Dim oldZZWidth As Single
  Dim newWidth As Single
  Dim newHeight As Single
  With Sheets("Sheet4")
    oldWidth = 0
    For iPtr = 1 To oRange.Columns.Count
      oldWidth = oldWidth + .Cells(1, oRange.Column + iPtr - 1).ColumnWidth
    Next iPtr
    oldWidth = .Cells(1, oRange.Column).ColumnWidth + .Cells(1, oRange.Column + 1).ColumnWidth
    oRange.MergeCells = False
    newWidth = Len(.Cells(oRange.Row, oRange.Column).Value)
    oldZZWidth = .Range("ZZ1").ColumnWidth
    .Range("ZZ1") = Left(.Cells(oRange.Row, oRange.Column).Value, newWidth)
    .Range("ZZ1").WrapText = True
    .Columns("ZZ").ColumnWidth = oldWidth
    .Rows("1").EntireRow.AutoFit
    newHeight = .Rows("1").RowHeight / oRange.Rows.Count
    .Rows(CStr(oRange.Row) & ":" & CStr(oRange.Row + oRange.Rows.Count - 1)).RowHeight = newHeight
    oRange.MergeCells = True
    oRange.WrapText = True
    .Range("ZZ1").ClearContents
    .Range("ZZ1").ColumnWidth = oldZZWidth
  End With
End Sub

Примечания:

(1.) Если вам нужно настроить дополнительные объединенные диапазоны, просто скопируйте строку Call AutoFitMergedCells(Range("a1:b2")) столько раз, сколько необходимо, и обновите адрес для каждого объединенного диапазона, который вы хотите автоподобрать.

(2.) Не забудьте изменить Sheet4 в скрипте, чтобы он соответствовал имени листа, где находятся ваши объединенные ячейки. Если вы не уверены в имени вашего листа, проверьте вкладки листов в нижней части окна Excel.

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

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

 result of auto fitting row height of merged cells with vba code

Это решение VBA предоставляет удобный, автоматизированный способ управления размерами объединенных ячеек. Однако оно требует доступа к вкладке Разработчик и разрешения на использование макросов — имейте это в виду, если вы сотрудничаете в средах, где макросы отключены или ограничены.


Использование переноса текста и ручной настройки

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

Шаг 1: Включение Переноса Текста
  1. Выберите объединенную(ые) ячейку(и), которую вы хотите отформатировать.
  2. Перейдите на вкладку Главная и нажмите Перенос Текста в группе Выравнивание.

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

Шаг 2: Проверьте отображение и при необходимости вручную настройте высоту строки

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

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

? Важное примечание: Excel не может автоматически подгонять высоту строки для объединенных ячеек; опция Перенос Текста только позволяет выполнять переносы строк, но не регулирует высоту строки автоматически. Поэтому вам может потребоваться вручную настроить высоту строки после переноса текста.

Связанная статья:

Как автоматически подогнать ширину столбца в Excel?


Лучшие инструменты для повышения продуктивности в Office

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: VLOOKUP по нескольким критериям | VLOOKUP по нескольким значениям | Многолистовой поиск | Распознавание нечетких соответствий ...
Расширенный раскрывающийся список: Быстро создать раскрывающийся список | Зависимый раскрывающийся список | Множественный выбор в раскрывающемся списке ...
Менеджер столбцов: Добавить определённое количество столбцов | Переместить столбцы | Переключить видимость скрытых столбцов | Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки | Дизайн листа | Улучшенная строка формулы | Управление книгой и листами | Библиотека автотекста | Выбор даты | Объединить данные | Зашифровать/расшифровать ячейки | Отправить письмо по списку | Супер фильтр | Специальный фильтр (фильтр жирный/курсив/зачеркнутый...) ...
Топ15 наборов инструментов:12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...) |50+ типов диаграмм (Диаграмма Ганта, ...) |40+ полезных формул (Расчет возраста на основе даты рождения, ...) |19 инструментов для вставки (Вставить QR-код, Вставить изображение по пути, ...) |12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...) |7 инструментов объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...) | ... и многое другое
Используйте Kutools на предпочитаемом вами языке — поддерживает Английский, Испанский, Немецкий, Французский, Китайский и более40 других языков!

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


Office Tab добавляет вкладки в Office и делает вашу работу намного проще

  • Включите режим вкладок для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна вместо новых отдельных окон.
  • Увеличьте свою продуктивность на50% и уменьшите количество щелчков мышью на сотни ежедневно!

Все надстройки Kutools. Один установщик

Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.

Excel Word Outlook Tabs PowerPoint
  • Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
  • Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
  • Совместная работа — максимальная эффективность между приложениями Office
  • 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
  • Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек