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

Forumthread: Zeilenhöhe und Breite automatisch mit VBA anpassen

Zeilenhöhe und Breite automatisch mit VBA anpassen
19.04.2017 14:59:12
mirko
Hallo Excelisten
ich möchte per VBA die Zeilenhöhe in der Spalte H automatisch anpassen, Z.B. wenn der in der Spalte H eingegebene Text darüber hinaus geht, soll Excel mir automatisch die Zeilenhöhe anpassen, bzw. erweitern mit Zeilenumbrüche.
Evtl. Spaltenbreite fixieren und wenn diese erreicht ist, macht der Excel Zeilenumbruch solange es Text reicht?
Ist das möglich?
mirko
Anzeige

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilenhöhe und Breite automatisch mit VBA anpassen
19.04.2017 15:18:33
Werner
Hallo Mirko,
die gewünschte Spaltenbreite vorher einfach einstellen.
Folgenden Code ins CodeModul des Blattes, auf dem er sich auswirken soll.
Rechtsklick auf den Tabellenblattreiter - Code anzeigen - Code rechts ins Codefenster kopieren
Makro startet, sobald in Spalte H eine Eingabe vorgenommen wird.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 8 Then
Columns("H:H").WrapText = True
End If
End Sub
Gruß Werner
Anzeige
Zeilenhöhe und Breite automatisch mit VBA anpassen
19.04.2017 15:26:35
mirko
Hallo Werner
habe versucht, leider wird die Zeilenhöhe nicht automatisch angepasst.
Gruss
mirko
Rows.AutoFit..owT
19.04.2017 15:34:12
Max2

AW: Zeilenhöhe und Breite automatisch mit VBA anpassen
19.04.2017 15:52:50
Werner
Hallo Mirko,
bei mir schon. Mehr kann ich dazu nicht sagen, weil ich deine Datei nicht kenne.
Gruß Werner
Anzeige
Zeilenhöhe und Breite automatisch mit VBA anpassen
19.04.2017 16:03:59
mirko
Hallo Werner
bei mir in der neue Mappe funktioniert auch fehlerfrei.
In der betroffene Mappe (Tabelle 1)habe ich schon eine Prozedur mit:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Ist das vielleicht die Ursache?
mirko
AW: Beispielmappe hochladen
19.04.2017 16:09:18
Werner
Hallo Mirko,
da kann ich wieder nur sagen "kann sein". Ich kenne deine Datei immer noch nicht und deinen Code auch
nicht.
Lade doch mal eine Beispielmappe, ggf. mit anonymisierten Daten hoch.
Gruß Werner
Anzeige
AW: Beispielmappe hochladen
19.04.2017 16:22:53
mirko
Hallo Werner
anbei noch die Beispieldatei:

Die Datei https://www.herber.de/bbs/user/112980.xlsm wurde aus Datenschutzgründen gelöscht


gruss
mirko
AW: Beispielmappe hochladen
19.04.2017 16:44:32
Werner
Hallo Mirko,
wenn du jetzt noch dein Makro-Passwort raus machen würdest, dann könnte ich mir das auch ansehen.
Gruß Werner
Anzeige
AW: Beispielmappe hochladen
19.04.2017 19:47:41
Werner
Hallo Mirko,
musste noch ein Autofit mit rein machen, warum kann ich nicht sagen, bei mir ging es auch ohne.
https://www.herber.de/bbs/user/112989.xlsm
Gruß Werner
Anzeige
AW: Beispielmappe hochladen
19.04.2017 20:32:57
mirko
Hallo Werner
wo genau muss der Autofit in meinem Codes noch anpassen?
gruss
mirko
AW: Beispielmappe hochladen
19.04.2017 20:37:00
Werner
Hallo Mirko,
Das ist doch in der Datei, die ich dir wieder hochgeladen habe, schon drin. Im Worksheet_Change ganz unten.
Gruß Werner
AW: Beispielmappe hochladen
19.04.2017 20:44:05
mirko
Hallo Werner
ich finde es in diese Datei einfach nicht?
Entweder bin für VBA "zu blöd" oder was?
mirko
Anzeige
AW: Beispielmappe hochladen
19.04.2017 20:53:29
Werner
Hallo Mirko,
Rechtsklick auf den Blattreiter von Tabelle1 - Code anzeigen
Oder im Makroeditor Doppelklick auf Tabelle1
und dort dann im Worksheet_Change Code ganz unten
Gruß Werner
AW: Beispielmappe hochladen
19.04.2017 21:18:41
mirko
hallo Werner
endlich funkttioniert es wie gewünscht.
Danke für die Hilfe und vor allem für der Geduld.
Gruss
mirko
Anzeige
AW: Gerne u. Danke für die Rückmeldung. o.w.T.
19.04.2017 21:37:00
Werner

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zeilenhöhe und Breite in Excel automatisch anpassen mit VBA


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und navigiere zu dem Arbeitsblatt, auf dem du die Zeilenhöhe und Spaltenbreite automatisch anpassen möchtest.

  2. Rechtsklicke auf den Tabellenblattreiter und wähle "Code anzeigen", um das VBA-Editor-Fenster zu öffnen.

  3. Füge den folgenden Code in das Codefenster ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Target.Column = 8 Then ' Spalte H
           Columns("H:H").WrapText = True
           Rows(Target.Row).AutoFit ' Zeilenhöhe automatisch anpassen
       End If
    End Sub
  4. Schließe den VBA-Editor und kehre zurück zu Excel.

  5. Gib einen Text in die Spalte H ein. Die Zeilenhöhe sollte sich nun automatisch anpassen, wenn der Text mehr Platz benötigt.


Häufige Fehler und Lösungen

  • Zeilenhöhe wird nicht angepasst: Stelle sicher, dass der Code im richtigen Arbeitsblattmodul eingefügt wurde. Manchmal kann der Fehler auch auftreten, wenn bereits andere Makros im Blatt existieren. Überprüfe, ob diese den Code beeinflussen.

  • Spaltenbreite passt sich nicht automatisch an: Füge zusätzlich den Befehl Columns("H:H").AutoFit in den Code, um die Spaltenbreite automatisch an den Text anzupassen.


Alternative Methoden

Wenn du keine VBA-Lösungen verwenden möchtest, kannst du die automatische Anpassung der Spaltenbreite auch manuell durchführen:

  1. Wähle die Spalte aus, die du anpassen möchtest.
  2. Doppelklicke auf die rechte Grenze der Spaltenüberschrift. Excel wird die Spaltenbreite automatisch an den längsten Eintrag anpassen.

Für eine automatische Zeilenhöhe ohne VBA kannst du auch die Funktion „Zeilenhöhe automatisch anpassen“ im Kontextmenü verwenden (Rechtsklick auf die Zeile).


Praktische Beispiele

  • Beispiel für Zeilenhöhe anpassen: Wenn du in Zelle H1 den Text "Dies ist ein sehr langer Text, der die Zeilenhöhe überschreitet" eingibst, wird die Zeilenhöhe automatisch erweitert, um den gesamten Text anzuzeigen.

  • Beispiel für Spaltenbreite anpassen: Wenn du in Zelle H1 "Kurzer Text" eingibst und anschließend in Zelle H2 "Ein sehr, sehr langer Text, der die Spaltenbreite übersteigt", wird die Spaltenbreite sich automatisch an den längeren Text anpassen, wenn du den AutoFit-Befehl verwendest.


Tipps für Profis

  • Verwende die Kombination von AutoFit für Zeilen und Spalten, um sicherzustellen, dass deine Daten immer optimal dargestellt werden.
  • Wenn du regelmäßige Datenänderungen hast, überlege, wie du deine VBA-Makros optimieren kannst, um die Leistung zu verbessern.
  • Bei sehr langen Texten kann es sinnvoll sein, die maximale Zeilenhöhe zu fixieren, um ein Überlaufen in andere Zeilen zu vermeiden. Dies kannst du erreichen, indem du die Zeilenhöhe manuell festlegst.

FAQ: Häufige Fragen

1. Warum wird die Spaltenbreite nicht automatisch angepasst? Es könnte daran liegen, dass der AutoFit-Befehl nicht im Code enthalten ist. Stelle sicher, dass du Columns("H:H").AutoFit hinzugefügt hast.

2. Kann ich die Zeilenhöhe fixieren? Ja, du kannst die Zeilenhöhe manuell festlegen, indem du mit der rechten Maustaste auf die Zeile klickst und „Zeilenhöhe“ auswählst. Dort kannst du einen festen Wert eingeben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige