Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Zeilenhöhe bei verbundenen Zellen anpassen

Gruppe

Zeile

Problem

Wenn ich Zellen mit Zeilenumbrüchen verbinde, passt sich die Zeilenhöhe nicht an. Wie kann ich die Anpassung erreichen?

Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.

StandardModule: Modul1

Sub AutoFitMergedCellRowHeight()
     Dim CurrentRowHeight As Single, MergedCellRgWidth As Single
     Dim CurrCell As Range
     Dim ActiveCellWidth As Single, PossNewRowHeight As Single
     Dim iX As Integer
     If ActiveCell.MergeCells Then
        With ActiveCell.MergeArea
             If .Rows.Count = 1 And .WrapText = True Then
                 Application.ScreenUpdating = False
                 CurrentRowHeight = .RowHeight
                 ActiveCellWidth = ActiveCell.ColumnWidth
                 For Each CurrCell In Selection
                     MergedCellRgWidth = CurrCell.ColumnWidth + _
                        MergedCellRgWidth
                     iX = iX + 1
                 Next
                 MergedCellRgWidth = MergedCellRgWidth + (iX - 1) * 0.71
                 .MergeCells = False
                 .Cells(1).ColumnWidth = MergedCellRgWidth
                 .EntireRow.AutoFit
                 PossNewRowHeight = .RowHeight
                 .Cells(1).ColumnWidth = ActiveCellWidth
                 .MergeCells = True
                 .RowHeight = IIf(CurrentRowHeight > PossNewRowHeight, _
                  CurrentRowHeight, PossNewRowHeight)
             End If
         End With
     End If
 End Sub