Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 11:16:26
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Spaltenbreite automatisch und immer anpassen

Spaltenbreite automatisch und immer anpassen
21.11.2014 08:06:55
Psy
Hi zusammen,
sitz hier gerade vor einem kleinen Problem. Einen Teil der Lösung konnte ich im Netz finden, doch irgendwie komme ich mit der Syntax nicht klar.
Mein Ziel ist es, dass ein Makro durchgehen ausgeführt wird. Dies erreiche ich mit folgendem Code.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)Code
End Sub
Nun geht es mir darum, dass wenn etwas in eine zelle geschrieben wird, dass sich die Spaltenbreite automatisch anpasst.
Im Beispiel:
In Zelle A16 wird eine Benennung eingegeben, die größer ist, als die Spaltenbreite. Dann soll sich die Spalte automatisch anpassen. Wenn der Inhalt der Zelle wieder entfernt wird, dann soll sich die Spaltenbreite wieder automatisch anpassen. Mit jeder Eingabe. Zur Spaltenbreite habe ich folgende Syntax gefunden.

Columns("A:A").EntireColumn.AutoFit
Nur wie müsste der Code aussehen, damit der code ständig ausgeführt wird?
Über jegliche Hilfe bin ich sehr dankbar.
Gruß

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Spaltenbreite automatisch und immer anpassen
21.11.2014 08:27:06
Luschi
Hallo Psy,
versuch es mal so, wenn es in 1er bestimmten Tabelle passieren soll:

Private Sub Worksheet_Change(ByVal Target As Range)
Target.EntireColumn.AutoFit
End Sub
Wenn es in allen Tabellen 1er Arbeitsmappe sein soll, dann so im Klassenmodul 'DieseArbeitsmappe':

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Target.EntireColumn.AutoFit
End Sub
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Spaltenbreite automatisch und immer anpassen
24.11.2014 10:26:57
psy
Hi Luschi,
interessanter Nick.
Anbei meine Rueckmeldung. Passt soweit alles. Habe es noch ein wenig erweitert.
Habe nun noch die Problematik mit dem Blattschutz eingefügt. Anbei mal meine komplette Syntax falls dies noch jemand braucht.
  • Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Worksheets("BliBlaBlub").Protect Password:="Mein Passwort", UserInterfaceOnly:=True
    Worksheets("BlabBliBlab").Protect Password:="Mein Passwort", UserInterfaceOnly:=True
    'Anpassung
    Target.EntireColumn.AutoFit
    'Zur Berechnung einer Formel und die automatische Anpassung an die Zahlengröße
    Sheets(1).Columns("AA:AE").AutoFit
    'Zur Berechnung einer Formel und die automatische Anpassung an die Zahlengröße
    Sheets(2).Columns("Q:R").AutoFit
    End Sub
    


  • Danke für die Unterstützung Luschi :)
    Gruß
    Anzeige
    ;

    Forumthreads zu verwandten Themen

    Anzeige
    Anzeige

    Infobox / Tutorial

    Spaltenbreite in Excel automatisch anpassen


    Schritt-für-Schritt-Anleitung

    Um die Spaltenbreite in Excel automatisch anzupassen, kannst du ein einfaches VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, wie du dies umsetzen kannst:

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

    2. Wähle im Projekt-Explorer die entsprechende Arbeitsmappe aus.

    3. Doppelklicke auf das Arbeitsblatt, in dem du die Funktion aktivieren möchtest.

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

      Private Sub Worksheet_Change(ByVal Target As Range)
         Target.EntireColumn.AutoFit
      End Sub
    5. Schließe den VBA-Editor und kehre zu Excel zurück.

    6. Teste die Funktion, indem du etwas in eine Zelle schreibst. Die Spaltenbreite sollte sich automatisch anpassen.

    Falls du diese Funktion in allen Arbeitsblättern einer Arbeitsmappe nutzen möchtest, kannst du den Code im Klassenmodul „DieseArbeitsmappe“ verwenden:

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
        Target.EntireColumn.AutoFit
    End Sub

    Häufige Fehler und Lösungen

    • Fehler: Spaltenbreite wird nicht angepasst.

      • Lösung: Stelle sicher, dass das Makro aktiviert ist und die richtigen Berechtigungen zum Ausführen von Skripten in Excel vorhanden sind.
    • Fehler: Makro funktioniert nur einmal.

      • Lösung: Überprüfe, ob der Code im richtigen Modul (Worksheet oder Workbook) eingefügt wurde.
    • Fehler: Excel spaltenbreite automatisch anpassen funktioniert nicht.

      • Lösung: Vergewissere dich, dass die Zellen tatsächlich Inhalt haben, der die Anpassung der Breite erfordert.

    Alternative Methoden

    Es gibt verschiedene Möglichkeiten, die Spaltenbreite in Excel automatisch anzupassen:

    1. Manuelle Anpassung: Du kannst die Spaltenbreite manuell anpassen, indem du auf die Grenze zwischen zwei Spalten klickst und sie ziehst.
    2. Tastenkombination: Drücke ALT + H, gefolgt von O und dann I, um alle Spalten automatisch an die optimale Breite anzupassen.
    3. Shortcut für spezifische Spalten: Markiere die Spalten und drücke CTRL + SHIFT + F, gefolgt von CTRL + W, um die Breite automatisch anzupassen.

    Praktische Beispiele

    Hier sind einige nützliche Beispiele, wie du die VBA-Funktion effektiv nutzen kannst:

    • Beispiel 1: Wenn du in Zelle A1 „Langes Beispiel für Text“ eingibst, wird die Spaltenbreite von A automatisch angepasst.
    • Beispiel 2: Bei der Eingabe in mehrere Zellen in der Spalte B wird die Breite der gesamten Spalte B angepasst, sodass alle Inhalte sichtbar sind.

    Die Verwendung von Target.EntireColumn.AutoFit ermöglicht es dir, die Spaltenbreite in Excel automatisch an Text anzupassen, unabhängig von der Anzahl der Eingaben.


    Tipps für Profis

    • Verwende spezifische Bereiche: Anstatt alle Spalten anzupassen, kannst du den Code anpassen, um nur bestimmte Bereiche zu berücksichtigen, z. B. Sheets("Tabelle1").Columns("A:C").AutoFit.
    • Optimale Breite: Experimentiere mit der Anpassung der Spaltenbreite, um sicherzustellen, dass die Darstellung deiner Daten optimal ist.
    • Kombiniere Funktionen: Du kannst die automatische Anpassung der Spaltenbreite mit anderen VBA-Funktionen kombinieren, um deine Arbeitsmappe noch benutzerfreundlicher zu gestalten.

    FAQ: Häufige Fragen

    1. Funktioniert die automatische Anpassung bei allen Excel-Versionen?
    Ja, die beschriebenen VBA-Methoden zur Anpassung der Spaltenbreite sind in den meisten modernen Excel-Versionen verfügbar.

    2. Wie kann ich die automatische Anpassung deaktivieren?
    Um die Funktion zu deaktivieren, kannst du den VBA-Code einfach aus dem Modul entfernen oder kommentieren.

    3. Gibt es eine Möglichkeit, die automatische Spaltenbreite für alle Tabellen gleichzeitig anzupassen?
    Ja, indem du den Code im Klassenmodul „DieseArbeitsmappe“ verwendest, kannst du die Spaltenbreite in allen Arbeitsblättern automatisch anpassen.

    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