VBA Code zum automatischen Anpassen von Zeilen, Spalten und dem gesamten Arbeitsblatt || Excel Tricks

Melden

Hier ist ein umfassendes Tutorial, wie du mit VBA in Excel die Spaltenbreite und Zeilenhöhe automatisch anpassen kannst.


In Excel kann das manuelle Verschieben von Spaltenbegrenzungen mühsam sein, besonders bei großen Datensätzen. Mit VBA (Visual Basic for Applications) kannst du diesen Prozess automatisieren. Dieses Tutorial zeigt dir die wichtigsten Codes für den "AutoFit"-Befehl.

1. Die Vorbereitung: Den VBA-Editor öffnen

Bevor du den Code einfügst, musst du die Entwicklerumgebung öffnen:

  1. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Gehe im Menü auf Einfügen > Modul.
  3. Hier kannst du nun die folgenden Codes hineinkopieren.

2. Die wichtigsten Code-Snippets

A. Nur bestimmte Spalten anpassen

Wenn du beispielsweise nur die Spalten A bis E automatisch anpassen möchtest:

Sub SpaltenAnpassen()
    ' Passt die Spalten A bis E im aktiven Blatt an
    Columns("A:E").AutoFit
End Sub

B. Nur bestimmte Zeilen anpassen

Wenn die Zeilenhöhe basierend auf dem Textumbruch optimiert werden soll:

Sub ZeilenAnpassen()
    ' Passt die Zeilen 1 bis 10 an
    Rows("1:10").AutoFit
End Sub

C. Das gesamte Arbeitsblatt anpassen (Spalten & Zeilen)

Dies ist der am häufigsten verwendete Befehl, um Ordnung in ein Chaos-Blatt zu bringen:

Sub GanzesBlattAnpassen()
    Cells.EntireColumn.AutoFit
    Cells.EntireRow.AutoFit
End Sub

D. Nur den genutzten Bereich (UsedRange) anpassen

Anstatt alle 16.000+ Spalten von Excel zu prüfen, optimiert dieser Code nur den Bereich, in dem tatsächlich Daten stehen:

Sub GenutztenBereichAnpassen()
    ActiveSheet.UsedRange.Columns.AutoFit
    ActiveSheet.UsedRange.Rows.AutoFit
End Sub

3. Der Profi-Trick: Automatisches Anpassen bei jeder Eingabe

Möchtest du, dass Excel die Spaltenbreite sofort anpasst, während du tippst? Dann musst du den Code direkt in das Arbeitsblatt schreiben (nicht in ein Modul).

  1. Mache einen Rechtsklick auf den Namen des Tabellenblatts unten (z. B. "Tabelle1").
  2. Wähle Code anzeigen.
  3. Wähle im linken Dropdown-Menü statt "(Allgemein)" den Eintrag Worksheet aus.
  4. Füge diesen Code ein:
Private Sub Worksheet_Change(ByVal Target As Range)
    ' Passt die Spaltenbreite automatisch an, sobald sich ein Wert ändert
    Target.EntireColumn.AutoFit
End Sub

Jedes Mal, wenn du nun etwas in eine Zelle schreibst und Enter drückst, passt sich die Spalte von selbst an!


4. Wie man den Code ausführt

Wenn du den Code in ein Modul (Punkt 2) kopiert hast, gibt es drei Wege, ihn zu starten:

  1. Im Editor: Klicke in das Makro und drücke F5.
  2. In Excel: Drücke ALT + F8, wähle das Makro aus und klicke auf "Ausführen".
  3. Per Button: Gehe auf die Registerkarte Entwicklertools > Einfügen > Schaltfläche, zeichne sie auf und weise ihr das Makro zu.

Zusammenfassung der Befehle

Ziel VBA Befehl
Bestimmte Spalten Columns("A:B").AutoFit
Bestimmte Zeilen Rows("1:5").AutoFit
Gesamtes Blatt (Spalten) Cells.EntireColumn.AutoFit
Gesamtes Blatt (Zeilen) Cells.EntireRow.AutoFit
Nur belegter Bereich ActiveSheet.UsedRange.AutoFit

Tipp: Speichere deine Excel-Datei unbedingt als Excel-Arbeitsmappe mit Makros (.xlsm), sonst geht der VBA-Code beim Schließen verloren!


Viel Erfolg beim Ausprobieren dieser Excel VBA Tricks!

0