ich war auf der Suche nach einer Lösung von o.g. Problem. Ich habe dabei im Archiv einen Thread gefunden, der für den Fragestellenden nicht wirklich gelöst wurde. Vielleicht könnt ihr die Lösung hier mit hinzufügen, wenn ihr wollt. Die Lösung ist zwar sicher nicht hoch professionell, aber sie funktioniert.
Zur Erklärung:
Hat jemand in einem Tabellenblatt einen Bereich aus mehreren Spalten zusammengefasst und möchte die Zellenhöhe automatisch anpassen lassen, dann funktioniert das mit den normalerweise verwendeten Befehlen, wie .rowheight etc nur bei Einzelzellen. Wenn man den Bereich, um den es sich handelt, aber durchlaufen lässt und den Inhalt der zusammengefassten Spalten in einer einzelnen Zelle kopiert, kann man mit vorheriger Anpassung der Spaltenbreite der Einzelspalte auf die Gesamtspaltenbreite der zusammengefügten Spalten, die Zeilenhöhe auf den darin befindlichen Text anpassen lassen und die Zeilenhöhe ermitteln. Wenn man anschließend die Gesamtzeilenhöhe auf diesen Wert setzt und den kopierten Text wieder entfernt (kann man auch mit clearcontents machen), dann hat man die Zeilenhöhe angepasst.
Selection.ColumnWidth = 7 * 3.13
Set BereichEK = Range(Cells(16, 6), Cells(LetzteZeileEK - 1, 6))
For Each ZelleEK In BereichEK
ZelleEK.Offset(0, 35).Value = ZelleEK.Value
ZelleEK.Offset(0, 35).WrapText = True
zeilenhöhe = ZelleEK.Offset(0, 35).RowHeight
AktiveZeileEK = ZelleEK.Offset(0, 35).Row
Rows(AktiveZeileEK).RowHeight = zeilenhöhe
ZelleEK.Offset(0, 35).Value = ""
Next ZelleEK