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

Forumthread: VBA automatische Zeilenhöhe

VBA automatische Zeilenhöhe
11.03.2022 21:19:21
Thomas
Hallo,
ich würde gerne bei jedem Laden meiner Exceldatei im ersten Tabellenblatt, und nur dort, die Zeilenhöhen automatisch anpassen.
Mindestens in den Zeilen 1-600. Es befinden sich dort Abfragen, die tagesaktuell andere Höhen zum Anzeigen der Daten benötigen.
Dies soll auch passieren, wenn ich beim Laden noch auf einem anderen Tabellenblatt bin.
Am Besten wäre es, die zuletzt ausgewählte Zelle vom Abspeichern bliebe weiter ausgewählt, so dass ich nicht auf das erste Tabellenblatt springe, wie es aktuell der Fall ist.
Mein erster Gehversuch mit VBA ist zusammengefriemelt mit einem aufgenommenen Makro und via Anleitung aus dem Internet im "DieseArbeitsmappe" (Workbook) (open) im VBA-Editor eingefügt.
Könnte ich dieses automatisierte Ausführen beim Laden noch zusätzlich als Makro zum manuellen Ausführen anlegen, ebenfalls ohne von dort wegzuspringen wo ich aktuell bin, wäre das super.
Ich springe aus zwei Gründen aktuell vom aktuellen Tabellenblatt und der Zelle weg, die ich ausgewählt habe, weil ich nicht weiß, wie ich das erste Tabellenblatt ("Gesamt") ansprechen soll, ohne dort hin zu springen und wie ich nach dem Ausführen des Makros den ausgewählten Bereich, in dem er die Zeilenhöhe anpassen soll, wieder "ab"wähle. Deshalb springe ich zu Zelle A1.
Ich weiß. oO Bin halt neu bei VBA :-/
Hier ist mein kleiner Code.
nicht lachen^^ :)

Private Sub Workbook_Open()
Sheets("GESAMT").Select
Range("A1:V600").Select
Range("A1").Activate
Selection.Rows.AutoFit
Range("A1").Select
End Sub
Ich bitte um etwas Schützenhilfe.
Die Datei kann ich leider unmöglich hochladen, helfe aber sehr gerne mit weiteren benötigten Infos.
Vielen Dank!
Thomas
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA automatische Zeilenhöhe
11.03.2022 21:36:19
onur
Sheets("GESAMT").Range("A1:V600").Rows.AutoFit
AW: VBA automatische Zeilenhöhe
11.03.2022 21:47:20
Thomas
Wow wie cool :)
Hat alles irre gut funktioniert!
beim Laden, als Makro und als Button in der Menüleiste!
Vielen Dank!
Kleine Hilfe, großes Glück :)
Einen schönen Abend für Dich!
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zeilenhöhe in Excel mit VBA automatisch anpassen


Schritt-für-Schritt-Anleitung

Um die Zeilenhöhe in Excel automatisch anzupassen, kannst Du den folgenden VBA-Code verwenden. Dieser Code sorgt dafür, dass die Zeilenhöhe in einem bestimmten Bereich (z.B. A1:V600) beim Öffnen der Arbeitsmappe automatisch angepasst wird:

  1. Öffne Deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Doppelklicke im Projektfenster auf DieseArbeitsmappe.

  3. Füge den folgenden Code ein:

    Private Sub Workbook_Open()
       Sheets("GESAMT").Range("A1:V600").Rows.AutoFit
    End Sub
  4. Schließe den VBA-Editor und speichere die Datei.

  5. Schließe und öffne die Excel-Datei erneut, um die automatische Zeilenanpassung zu testen.

Dieser Code sorgt dafür, dass die Zeilenhöhe automatisch an den Inhalt angepasst wird, sobald die Datei geöffnet wird.


Häufige Fehler und Lösungen

  • Fehler: "Subscript out of range"

    • Lösung: Überprüfe, ob das Tabellenblatt "GESAMT" korrekt benannt ist. Achte auf Groß- und Kleinschreibung.
  • Fehler: Zeilenhöhe wird nicht angepasst

    • Lösung: Stelle sicher, dass der Bereich "A1:V600" korrekt ist und dass in diesen Zellen Inhalte vorhanden sind, die eine Anpassung der Zeilenhöhe erfordern.
  • Fehler: Excel springt zu Zelle A1

    • Lösung: Um zu verhindern, dass Excel zum ersten Tabellenblatt springt, verwende den folgenden modifizierten Code:
    Private Sub Workbook_Open()
       Dim currentCell As Range
       Set currentCell = ActiveCell
       Sheets("GESAMT").Range("A1:V600").Rows.AutoFit
       currentCell.Select
    End Sub

Alternative Methoden

Neben VBA gibt es auch andere Möglichkeiten, die Zeilenhöhe automatisch anzupassen:

  • Manuelle Anpassung: Du kannst die Zeilenhöhe manuell anpassen, indem Du die Zeilenmarkierungen zwischen den Zeilen ziehst.
  • Doppelklick: Doppelklicke auf die untere Grenze der Zeilenmarkierung, um die Höhe automatisch anzupassen.
  • Formatieren: Gehe zu Start -> Format -> Zeilenhöhe automatisch anpassen, um die Zeilenhöhe für den ausgewählten Bereich einzustellen.

Praktische Beispiele

  1. Einfaches Beispiel: Um die Zeilenhöhe in einem anderen Bereich anzupassen, ändere einfach die Range im VBA-Code:

    Sheets("GESAMT").Range("A1:Z600").Rows.AutoFit
  2. Mindesthöhe festlegen: Wenn Du die Zeilenhöhe auf mindestens 15 setzen möchtest:

    Dim r As Range
    Set r = Sheets("GESAMT").Range("A1:V600")
    r.Rows.AutoFit
    For Each row In r.Rows
       If row.RowHeight < 15 Then row.RowHeight = 15
    Next row

Tipps für Profis

  • Verbundene Zellen: Achte darauf, dass verbundene Zellen die automatische Zeilenhöhe beeinflussen können. Verwende Unmerge, um die Zellen zu trennen.
  • VBA-Fehlerbehandlung: Implementiere Fehlerbehandlung in deinen VBA-Skripten, um mögliche Laufzeitfehler zu vermeiden.
  • Benutzerdefinierte Makros: Erstelle zusätzliche Makros für die manuelle Anpassung der Zeilenhöhe, die Du über Schaltflächen in der Menüleiste aufrufen kannst.

FAQ: Häufige Fragen

1. Wie kann ich in Excel die Zeilenhöhe automatisch anpassen? Um die Zeilenhöhe automatisch anzupassen, kannst Du VBA verwenden, wie im obigen Abschnitt beschrieben, oder die manuelle Methode nutzen.

2. Kann ich die automatische Zeilenhöhe auf mehrere Tabellenblätter anwenden? Ja, Du kannst den VBA-Code so anpassen, dass er für mehrere Tabellenblätter funktioniert, indem Du eine Schleife über die gewünschten Blätter hinzufügst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige