Автоматическая высота объединенной ячейки в Excel 2010

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

можно ли сделать автоматическую настройку объединенных ячеек? Настройка была бы лучшей, но VBA тоже в порядке. Я пробовал код вроде Cells.EntireRow.AutoFit но это все равно идет только к одной линии.

21
задан techturtle
19.11.2022 10:08 Количество просмотров материала 2716
Распечатать страницу

2 ответа

вот контекстная запись в блоге, счастливо озаглавленная "Autofit Высота Строки Объединенной Ячейки"

Я призываю вас, чтобы прочитать весь пост, но вот код:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim MergeWidth As Single
Dim cM As Range
Dim AutoFitRng As Range
Dim CWidth As Double
Dim NewRowHt As Double
Dim str01 As String
str01 = "OrderNote"
  If Not Intersect(Target, Range(str01)) Is Nothing Then
    Application.ScreenUpdating = False
    On Error Resume Next
    Set AutoFitRng = Range(Range(str01).MergeArea.Address)

    With AutoFitRng
      .MergeCells = False
      CWidth = .Cells(1).ColumnWidth
      MergeWidth = 0
      For Each cM In AutoFitRng
          cM.WrapText = True
          MergeWidth = cM.ColumnWidth + MergeWidth
      Next
      'small adjustment to temporary width
      MergeWidth = MergeWidth + AutoFitRng.Cells.Count * 0.66
      .Cells(1).ColumnWidth = MergeWidth
      .EntireRow.AutoFit
      NewRowHt = .RowHeight
      .Cells(1).ColumnWidth = CWidth
      .MergeCells = True
      .RowHeight = NewRowHt
    End With
    Application.ScreenUpdating = True
  End If

End Sub
3
отвечен Doug Glancy 2022-11-20 17:56

Я сделал надстройку для автоматической подгонки высоты строки нескольких объединенных ячеек. Пожалуйста, используйте это, если вы хотите автоподбор высоты строки. [Вер2-Релизе.6 · toowaki/AutoFitRowEx · Гитхабе] https://github.com/toowaki/AutoFitRowEx/releases/tag/2.6.2

0
отвечен toowaki 2022-11-20 20:13

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх