Jeaux arbeitet mit vielen langen Arbeitsblättern, die Daten enthalten, die sie möglicherweise drucken muss. Nach dem Drucken schreibt sie in das Feld neben der Datenspalte. Alle Zeilen werden automatisch an den Inhalt angepasst, daher variieren sie in der Höhe. Jeaux sucht nach einem Makro, das die ausgewählten Zeilen übernimmt und schrittweise erhöht, beispielsweise um einen bestimmten Prozentsatz. (Da sie unterschiedliche Höhen haben, kann sie nicht alle auf die gleiche Höhe einstellen.)

Auf diese Weise kann sie die Zeilen groß genug für die Handschrift machen, aber trotzdem alle Daten sehen. Es wäre auch schön, die Höhe der Zeilen auf den Stand vor dem Drucken zurückzusetzen.

Diese Aufgabe ist mit einem Makro sehr einfach zu erledigen. Sie müssen lediglich die ausgewählten Zeilen durchlaufen und die RowHeight-Eigenschaft anpassen, wie in diesem Makro beschrieben:

Sub ExpandSelectedRows()

Dim rRow As Range     Dim dEnlarge As Double

dEnlarge = 1.25     For Each rRow In Selection.Rows         rRow.RowHeight = rRow.RowHeight * dEnlarge     Next End Sub

In diesem Fall enthält die Variable dEnlarge 1,25. Dies bedeutet, dass die Formel in der Schleife For …​ Next die Zeilenhöhe um 25 Prozent erhöht. Der Wert dieser Variablen kann geändert werden, um den Prozentsatz widerzuspiegeln, den Sie verwenden möchten, oder Sie können das Makro so ändern, dass der Benutzer nach einem Prozentsatz gefragt wird:

Sub ExpandSelectedRows()

Dim rRow As Range     Dim dEnlarge As Double     Dim sTemp As String

sTemp = InputBox("Increase by what percent?")

dEnlarge = Val(sTemp)

If dEnlarge > 1 Then dEnlarge = dEnlarge / 100     If dEnlarge < 1 Then dEnlarge = dEnlarge + 1

If dEnlarge > 0 Then         For Each rRow In Selection.Rows             rRow.RowHeight = rRow.RowHeight * dEnlarge         Next     End If End Sub

Wenn Sie die Zeilen später wieder auf ihre ursprüngliche Höhe bringen möchten, erledigt das folgende einzeilige Makro die Aufgabe:

Sub AutfitRows()

Cells.EntireRow.AutoFit End Sub

Dieses Makro funktioniert, weil die Zeilen in Ihrem Arbeitsblatt ursprünglich „automatisch an den Inhalt angepasst“ wurden. Ein Makro hätte geschrieben werden können, um die Vergrößerungsschritte umzukehren (durch dEnlarge dividieren statt multiplizieren), aber es würde nur zuverlässig funktionieren, wenn das ExpandSelectedRows-Makro nicht mehrmals ausgeführt würde.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (21) gilt für Microsoft Excel 2007, 2010, 2013 und 2016.