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

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

Author: Xiaoyang Last Modified: 2025-08-07

В 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 с несколькими значениями  |   Многолистовой поиск   |   Распознавание нечетких соответствий ....
Расширенный раскрывающийся список: Быстро создать раскр. список   |  Зависимый раскрывающийся список   |  Множественный выбор в раскрывающемся списке ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки   |  Дизайн листа   |   Улучшенная строка формулы    Управление книгой и листами   |  Библиотека автотекста (Auto Text)   |  Выбор даты   |  Объединить данные   |  Шифрование/Расшифровка ячеек    Отправить письмо по списку   |  Супер фильтр   |   Специальный фильтр (фильтр по жирному/курсиву/зачеркиванию...) ...
Топ–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% и сократите сотни кликов мышью ежедневно!