Как автоматически подогнать высоту строки объединенных ячеек в Excel?
В Excel мы можем быстро настроить высоту строки, чтобы она соответствовала содержимому ячейки, используя Автоподбор высоты строки функция, но эта функция полностью игнорирует объединенные ячейки. То есть вы не можете применить Автоподбор высоты строки функция для изменения размера строки объединенных ячеек, вам необходимо вручную настроить высоту строки для объединенных ячеек одну за другой. В этой статье я могу представить несколько быстрых методов решения этой проблемы.
Автоматическая установка высоты строки объединенных ячеек с кодом VBA
Автоматическая установка высоты строки объединенных ячеек с кодом VBA
Предположим, у меня есть рабочий лист с некоторыми объединенными ячейками, как показано на следующем снимке экрана, и теперь мне нужно изменить размер высоты строки ячейки, чтобы отобразить все содержимое, приведенный ниже код VBA может помочь вам автоматически подогнать высоту строки нескольких объединенных ячеек, пожалуйста, сделайте следующим образом:
1. Удерживайте ALT + F11 ключи, и он открывает Окно Microsoft Visual Basic для приложений.
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.) В приведенном выше коде вы можете добавлять новые диапазоны, просто скопируйте Вызов AutoFitMergedCells (Range ("a1: b2")) скрипт столько раз, сколько захотите, и измените диапазоны объединенных ячеек по своему усмотрению.
(2.) И вы должны изменить имя текущего рабочего листа. Sheet4 к имени используемого вами листа.
3, Затем нажмите F5 ключ для запуска этого кода, и теперь вы можете видеть, что все объединенные ячейки были автоматически подогнаны под их содержимое, см. снимок экрана:
Связанная статья:
Как автоматически подогнать ширину столбца в Excel?
Лучшие инструменты для офисной работы
Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!