als erstes muss ich meinen großen Dank für Foren wie dieses aussprechen. Als bis dato passiver Leser der Beiträge konnte ich durch stümperhaftes zusammen schreiben eurer Codes jedes Problem lösen.
In einer Excel-Liste möchte ich nun, dass sich die Zeilenhöhe der verbundenen Zellen
automatisch an den Text anpasst. Nach intensiver Internetrecherche bin ich auch in diesem Forum _
auf folgenden Code gestoßen, der auch super funktioniert:
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 + 10
.Cells(1).ColumnWidth = ActiveCellWidth
.MergeCells = True
.RowHeight = IIf(CurrentRowHeight > PossNewRowHeight, _
CurrentRowHeight, PossNewRowHeight)
End If
End With
End If
Range("A1").Select
End Sub
Allerdings wird nur die gerade angewählte Zelle angepasst. Ich möchte dagegen, dass dieser Code für jede Zelle B "i" von i = 1 bis 500 durchläuft.
Meine amateurhaften Versuche das ganze einfach in eine For Schleife zu pressen haben natürlich nicht funktioniert.
Vielen Dank schonmal im Voraus!!