Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
760to764
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
760to764
760to764
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro Zeilenhoehe automatisch formatieren

Makro Zeilenhoehe automatisch formatieren
09.05.2006 17:35:14
gemba
Hallo,
da mein alter Beitrag bzgl. dieses Makros archiviert ist, schreibe ich einen neuen. Das Makro habe ich den Beispielen von herber.de (Nr.137101) entnommen. Es passt die Zeilenhoehe bei verbunden Zellen und Textumbruch an. Habe festgestellt, dass das nur funktioniert, wenn ich eine einzelne Zelle zuvor angeklickt habe und dann das Makro starte. Wenn ich mehrere Zellen markiere, funktioniert das Makro nicht. Dabei ist es doch als Schleife programmiert und muesste die markierten Zellen nacheinander durchlaufen. Findet jemand den Grund dafuer? Was muss ich im Makro aendern, damit es auch bei einem markierten Zellbereich funktioniert?
DAnke fuer die Hilfe! gemba

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 = PossNewRowHeight
End If
End With
End If
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Zeilenhoehe automatisch formatieren
09.05.2006 19:49:41
Franz
Hallo gemba,
mit folgenden Anpassungen kannst du mehrer Zeilen mit verbundene Spalten markieren und die Zeilenhöhe anpassen.
Sub AutoFitMergedCellRowHeight()
Dim CurrentRowHeight As Single, MergedCellRgWidth As Single
Dim CurrCell As Range, Zelle As Range, Reihe As Range
Dim ActiveCellWidth As Single, PossNewRowHeight As Single
Dim iX As Integer
For Each Reihe In Selection.Rows
ActiveSheet.Cells(Reihe.Row, Selection.Column).Select
CurrentRowHeight = 0
MergedCellRgWidth = 0
ActiveCellWidth = 0
PossNewRowHeight = 0
iX = 0
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 = PossNewRowHeight
End If
End With
End If
Next Reihe
End Sub

Gruß
Franz
Anzeige
vielen Dank
09.05.2006 20:15:54
gemba
Hallo Franz,
danke fuer deine Muehe! Es funktioniert wunderbar!!!
Tschuess, gemba

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige