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

Autofit auf gesamte Arbeitsmappe anwenden

Forumthread: Autofit auf gesamte Arbeitsmappe anwenden

Autofit auf gesamte Arbeitsmappe anwenden
29.09.2005 10:27:12
Steffi
Einen schönen guten Morgen,
habe ein kleines Problem: Ich weiß zwar, wie man ein einzeles Sheet mit autofit anpasst, wie man aber die gesamte Arbeitsmappe autoformatiert, weiß ich nicht.
Kann man autofit auch auf alle existierenden Sheets auf einmal anwenden, ohne dass man sie einzelnd im Code aufführen muss?
Für einen Rat wär ich euch sehr dankbar!
Gruss Steffi
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Autofit auf gesamte Arbeitsmappe anwenden
29.09.2005 10:41:21
RALF
Moin,
über VBA würde es eine Lösung geben:

Sub n()
for i=1 to sheets.count
Cells.EntireColumn.AutoFit
next i
End Sub

Gruß RALF
AW: Autofit auf gesamte Arbeitsmappe anwenden
29.09.2005 10:50:42
Steffi
Hallo Ralf,
vielen Dank!
Ich habe den Code noch mit einer Zeile ergänzt, weil er sonst immer nur das gerade aktivierte Sheet autoformatiert hat. Jetzt funktioniert es einwandtfrei :-)

Sub n()
for i=1 to sheets.count
Cells.EntireColumn.AutoFit
Sheets(i).Select
next i
End Sub

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Autofit auf gesamte Arbeitsmappe anwenden


Schritt-für-Schritt-Anleitung

Um die Autofit-Funktion auf alle Arbeitsblätter in einer Excel-Arbeitsmappe anzuwenden, kannst Du den folgenden VBA-Code verwenden:

Sub AutofitEntireWorkbook()
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        ws.Cells.EntireColumn.AutoFit
    Next ws
End Sub
  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen und dann auf Modul, um ein neues Modul zu erstellen.
  3. Kopiere den obigen Code in das Modul.
  4. Schließe den VBA-Editor und kehre zu Excel zurück.
  5. Drücke ALT + F8, wähle AutofitEntireWorkbook und klicke auf Ausführen.

Damit wird die Autofit-Funktion auf alle Spalten in allen Arbeitsblättern der Arbeitsmappe angewendet.


Häufige Fehler und Lösungen

  • Fehler: „Method 'AutoFit' of object 'Range' failed“

    • Lösung: Stelle sicher, dass Du das richtige Arbeitsblatt referenzierst. Der Code sollte in einer Schleife durch alle Arbeitsblätter iterieren, wie im obigen Beispiel gezeigt.
  • Fehler: Nur aktives Blatt wird autoformatiert

    • Lösung: Verwende ws.Cells.EntireColumn.AutoFit, um sicherzustellen, dass jede Spalte in jedem Blatt formatiert wird.

Alternative Methoden

Falls Du keine VBA-Lösung nutzen möchtest, kannst Du auch manuell vorgehen:

  1. Wähle das gewünschte Arbeitsblatt aus.
  2. Drücke STRG + A, um alle Zellen auszuwählen.
  3. Klicke mit der rechten Maustaste auf die Spaltenüberschrift und wähle Spaltenbreite automatisch anpassen.

Diese Methode ist jedoch nur für ein einzelnes Arbeitsblatt geeignet.


Praktische Beispiele

Wenn Du eine bestimmte Spalte in einem bestimmten Blatt formatieren möchtest, kannst Du den folgenden VBA-Code verwenden:

Sub AutofitSpecificColumn()
    ThisWorkbook.Sheets("Sheet1").Columns("A").AutoFit
End Sub

Hier wird nur die Spalte A im Arbeitsblatt „Sheet1“ autoformatiert. Dies ist nützlich, wenn Du nicht alle Spalten in der gesamten Arbeitsmappe anpassen möchtest.


Tipps für Profis

  • Verwende die .AutoFit-Methode nur bei Daten, die tatsächlich Änderungen in der Spaltenbreite erfordern, um die Performance zu verbessern.
  • Du kannst diese Autofit-Funktion auch in Kombination mit anderen VBA-Funktionen verwenden, um Deine Arbeitsmappe besser zu verwalten.

FAQ: Häufige Fragen

1. Kann ich Autofit auch auf Zeilen anwenden?
Ja, Du kannst ws.Cells.EntireRow.AutoFit verwenden, um die Zeilenhöhe anzupassen.

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen, wie Excel 2010 und neuer.

3. Was mache ich, wenn der Code nicht funktioniert?
Überprüfe, ob Du die Makros aktiviert hast und ob Du den Code im richtigen Modul eingefügt hast.

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