Makro funktioniert nur nach manueller Anwahl
19.09.2006 13:36:51
Gesa
habe folgendes Makro im Archiv (Automatische Zeilenhöhe bei verbundenen Zellen)
gefunden:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim CurrentRowHeight As Single, MergedCellRgWidth As Single
Dim CurrCell As Range
Dim ActiveCellWidth As Single, PossNewRowHeight As Single
If ActiveCell.Row > 11 And ActiveCell.Row < 19 Then
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 If
Application.ScreenUpdating = True
End Sub
Dieses funktioniert allerdings nur, wenn ich dieses wie nachfolgend aufgeführt ändere und manuell über das Menü: einfüge und manuell aus der betreffenden Zeile ausführe:
Sub test()
Dim CurrentRowHeight As Single, MergedCellRgWidth As Single
Dim CurrCell As Range
Dim ActiveCellWidth As Single, PossNewRowHeight As Single
If ActiveCell.Row > 11 And ActiveCell.Row 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 If
Application.ScreenUpdating = True
End Sub
Mein Ziel ist es (da mit verwendeten Steuerelementen die Dateigröße sich zu sehr vergrößert - siehe meine alten Beitrag "Absturz bei ActivX-Steuerelementen"), dass sich verbundene Zeilen automatisch nach Eingabe eines Wertes in der Größe anpassen (vergrößern & verkleinern beim löschen von eingegebenen Werten).
Wäre sehr dankbar, wenn mir jemand hilft... dieses Problem scheint unlösbar :-(
Schöne Grüße Gesa S.