Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeilenhöhe anpassen vba

Zeilenhöhe anpassen vba
02.02.2018 17:28:17
Max
Liebe Alle,
ich versuche die Zeilenhöhe über eine Definition der einzelnen Zeilen von einem Tabellenblatt auf alle anderen Tabellenblätter zu übertragen.
Mein Code:
sheets(wsheets).Select
Union(Rows("1:3"), Rows(22), Rows(25), Rows(33), Rows(35), Rows(43), Rows(45), Rows(53)).RowHeight = 13.2
sheets(wsheets).Select
Union(Rows(4), Rows(6), Rows(11), Rows(20), Rows("54:55"), Rows(23)).RowHeight = 30
sheets(wsheets).Select
Union(Rows(5), Rows("7:10"), Rows(12), Rows(21)).RowHeight = 21
sheets(wsheets).Select
Rows("13:19").RowHeight = 19.8
sheets(wsheets).Select
Union(Rows(22), Rows(24), Rows(34), Rows(44)).RowHeight = 7.2
sheets(wsheets).Select
Union(Rows("26:32"), Rows("36:42"), Rows("46:52")).RowHeight = 12.6
Leider wird nur das nächste Tabellenblatt angepasst und nicht alle, so wie gewünscht.
Kann jemand helfen?
Vielen Dank und Grüße
Max
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilenhöhe anpassen vba
02.02.2018 17:35:32
Werner
Hallo Max,
so:
For Each Worksheet In ThisWorkbook.Worksheets
With Worksheet
Union(.Rows("1:3"), .Rows(22), .Rows(25), .Rows(33), .Rows(35), .Rows(43), .Rows(45), .Rows(53)) _
.RowHeight = 13.2
Union(.Rows(4), .Rows(6), .Rows(11), .Rows(20), .Rows("54:55"), .Rows(23)).RowHeight = 30
Union(.Rows(5), .Rows("7:10"), .Rows(12), .Rows(21)).RowHeight = 21
.Rows("13:19").RowHeight = 19.8
Union(.Rows(22), .Rows(24), .Rows(34), .Rows(44)).RowHeight = 7.2
Union(.Rows("26:32"), .Rows("36:42"), .Rows("46:52")).RowHeight = 12.6
End With
Next Worksheet
Beachte: Bei With - End With muss vor jedes Range-Objekt (Range, Cells, Rows, Columns) ein Punkt, damit korrekt auf das im With angegebenen Tabellenblatt referenziert wird.
Gruß Werner
Anzeige
AW: Zeilenhöhe anpassen vba
05.02.2018 17:39:37
Max
Vielen Dank!
So klappts!
Gruß
Max
Gerne u.Danke für die Rückmeldung. o.w.T.
05.02.2018 21:03:56
Werner
der Zeilenumbruch im Code muss raus...
02.02.2018 17:37:24
Werner
Hallo Max,
..den hat die Forensoftware eingefügt.
Gruß Werner
Anzeige
AW: Zeilenhöhe anpassen vba
02.02.2018 17:44:29
onur
So:
Dim i
For i = 1 To ActiveWorkbook.Worksheets.Count
If ActiveWorkbook.Worksheets(i).name>

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zeilenhöhe in Excel VBA anpassen


Schritt-für-Schritt-Anleitung

Um die Zeilenhöhe in Excel VBA zu ändern, kannst du folgenden Code verwenden. Dieser Code durchläuft alle Arbeitsblätter in der Arbeitsmappe und passt die Zeilenhöhen an:

For Each Worksheet In ThisWorkbook.Worksheets
    With Worksheet
        Union(.Rows("1:3"), .Rows(22), .Rows(25), .Rows(33), .Rows(35), .Rows(43), .Rows(45), .Rows(53)).RowHeight = 13.2
        Union(.Rows(4), .Rows(6), .Rows(11), .Rows(20), .Rows("54:55"), .Rows(23)).RowHeight = 30
        Union(.Rows(5), .Rows("7:10"), .Rows(12), .Rows(21)).RowHeight = 21
        .Rows("13:19").RowHeight = 19.8
        Union(.Rows(22), .Rows(24), .Rows(34), .Rows(44)).RowHeight = 7.2
        Union(.Rows("26:32"), .Rows("36:42"), .Rows("46:52")).RowHeight = 12.6
    End With
Next Worksheet

Wichtig ist, dass du vor jedes Range-Objekt (wie Rows, Columns, Cells) einen Punkt setzt, wenn du innerhalb einer With-Anweisung arbeitest.


Häufige Fehler und Lösungen

Ein häufiger Fehler ist, dass bei der Verwendung von With ... End With die Punkte vor den Range-Objekten vergessen werden. Dies führt dazu, dass die Zeilenhöhe nicht korrekt geändert wird. Stelle sicher, dass du den Punkt vor den Objekten setzt:

With Worksheet
    .Rows("1:3").RowHeight = 13.2 ' Richtig
End With

Ein weiterer Fehler kann auftreten, wenn du versuchst, die Zeilenhöhe für nicht existente Zeilen zu ändern. Überprüfe die Zeilenreferenzen, um sicherzustellen, dass sie gültig sind.


Alternative Methoden

Eine alternative Methode zur Anpassung der Zeilenhöhe ist die Verwendung der AutoFit-Methode. Diese passt die Zeilenhöhe automatisch an den Inhalt der Zellen an:

For Each Worksheet In ThisWorkbook.Worksheets
    Worksheet.Rows.AutoFit
Next Worksheet

Diese Methode ist besonders nützlich, wenn du nicht genau weißt, welche Zeilenhöhe du einstellen sollst und die Inhalte variieren.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die RowHeight-Eigenschaft nutzen kannst:

  1. Zeilenhöhe für spezifische Zeilen ändern:

    Worksheets("Tabelle1").Rows(1).RowHeight = 25
  2. Zeilenhöhe für eine ganze Tabelle automatisch anpassen:

    Worksheets("Tabelle1").Rows.AutoFit
  3. Zeilenhöhe auslesen:

    Um die aktuelle Zeilenhöhe auszulesen, kannst du folgendes verwenden:

    Dim currentHeight As Double
    currentHeight = Worksheets("Tabelle1").Rows(1).RowHeight
    MsgBox "Die Zeilenhöhe ist: " & currentHeight

Tipps für Profis

  • Verwende die Union-Methode, um mehrere Zeilen gleichzeitig anzupassen. Dies spart Zeit und macht den Code übersichtlicher.
  • Halte deinen Code modular, indem du Funktionen schreibst, die spezifische Aufgaben erledigen, z.B. das Anpassen der Zeilenhöhe.
  • Experimentiere mit der AutoFit-Methode, um die Zeilenhöhe automatisch anpassen zu lassen, besonders bei dynamischen Inhalten.

FAQ: Häufige Fragen

1. Wie kann ich die Zeilenhöhe für alle Arbeitsblätter gleichzeitig einstellen?
Verwende eine Schleife, die über alle Arbeitsblätter iteriert, wie im oben beschriebenen Code.

2. Kann ich die Zeilenhöhe basierend auf einer Bedingung anpassen?
Ja, du kannst Bedingungen in deiner Schleife verwenden, um nur bestimmte Zeilenhöhen zu ändern, z.B. basierend auf dem Inhalt der Zellen.

3. Wie lese ich die aktuelle Zeilenhöhe in Excel VBA aus?
Verwende die RowHeight-Eigenschaft für eine bestimmte Zeile, um die aktuelle Höhe auszulesen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige