Hi, natürlich und sorry für das schlechte Format.. Hier das Makro:
Sub Zellenanpassen()
Dim CurrentRowHeight As Single, MergedCellRgWidth As Single
Dim CurrCell As Range
Dim ActiveCellWidth As Single, PossNewRowHeight As Single
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
Next
.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
Hier der VBA-Code zum automatischen Ausführen des Makros:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("$D$31:$M$31")) Is Nothing Then Zellenanpassen
End Sub
Wie gesagt sind meine VBA-Kenntnisse eher sehr mau. Ich hab mir diese aus einer bekannten Suchmaschine zusammengewürfelt und bin gerade echt schon am verzweifeln.
" im worksheet_change haltepunkt setzen (debug) und dann step by step.
activecell = selected cell?"
Was ist damit gemeint? Vielen Dank für die Hilfe!!! :))
Gruß fireless