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

Forumthread: optimale Spaltenbreite funktioniert nicht

optimale Spaltenbreite funktioniert nicht
24.08.2017 09:16:18
Jens
Hallo,
anbei eine Datei.

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

(alle PW: sperl)
Über den Button kann die Userform geöffnet werden.
Wenn man nun den Menüpunkt Spaltenbreite anpassen ausführt, wird das Makro auch durchlaufen, aber irgendwie stimmen die optimalen Splatenbreiten nicht.
Entweder sind sie etwas zu groß oder einfach viel zu groß.
Hat jemand eine Idee warum das so ist und was man hier machen kann?
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
evtl. Überschrift zentriert?
24.08.2017 09:36:12
Tino
Hallo,
teste mal ob es evtl. daran liegt das die
Überschriften in Zeile 12 zentriert sind, stell diese mal auf Standard.
Nebenbei der Blattschutz wird nicht richtig gesetzt,
weil du ein zweites Mal Protect durchführst und dort ohne Kennwort.
Vielleicht nur so ist evtl. besser.
Worksheets("Aufstellung").Protect Password:="sperl", _
DrawingObjects:=True, Contents:=True, _
Scenarios:=True, AllowFiltering:=True
Gruß Tino
Anzeige
AW: evtl. Überschrift zentriert?
24.08.2017 10:06:00
Jens
Es hat zwar geholfen.
Aber deshalb passiert es immer noch das die spalten zu groß sind.
Vorallem wenn man das makro öfter hinter einander ausführt, dann kommt jedes mal was anderes raus.
Komisch oder?
der Autofilter könnte noch schuld sein...
24.08.2017 10:41:30
Tino
Hallo,
die Pfeile vom Autofilter werden auch mitberücksichtigt.
Man könnte diese kurz aufheben,
hat aber den Nachteil das gefilterte Daten wieder eingeblendet werden!
Kannst mal so testen.
Sub SpaltenbreiteOptimieren()
Dim rngFilter As Range
Application.ScreenUpdating = False
With Worksheets("Aufstellung")
.Unprotect Password:="sperl"
If .AutoFilterMode Then
Set rngFilter = .AutoFilter.Range
rngFilter.AutoFilter
End If
.Columns("A:R").EntireColumn.AutoFit
.Columns("T:V").EntireColumn.AutoFit
.Columns("W:AB").EntireColumn.AutoFit
.Columns("AC:AP").EntireColumn.AutoFit
If Not rngFilter Is Nothing Then
rngFilter.AutoFilter
End If
.Protect Password:="sperl", DrawingObjects:=True, _
Contents:=True, Scenarios:=True, AllowFiltering:=True
End With
Application.ScreenUpdating = True
End Sub
Gruß Tino
Anzeige
AW: der Autofilter könnte noch schuld sein...
24.08.2017 11:01:43
Jens
Besten Dank.
Aber das war es nicht.
mhm
bei mir hat es gepasst...
24.08.2017 11:23:07
Tino
Hallo,
also bei mir hat der test mit deiner Bsp-Mappe funktioniert?
Ich lass mal offen, evtl. hat noch ein enderer eine Idee!
Gruß Tino
AW: bei mir hat es gepasst...
24.08.2017 11:49:12
Jens
Hast du all deine Sachen gemacht oder nur das neue Makro eingesetzt? Sprich auch Zeile 12 oder so auf Standard?
Könntest du mal deine Datei zusenden dann würde ich es auch probieren?!
Anzeige
AW: bei mir hat es gepasst...
24.08.2017 12:29:31
Jens
Du hast die komplette tabelle auf ausrichtugn Standdard gesetzt oder? icht nur eine Zeile
AW: bei mir hat es gepasst...
24.08.2017 12:42:53
Tino
Hallo,
ja aber auch wenn ich den Rest zentriere passt es.
Kann leider deine Datei aus dem ersten Beitrag nicht mehr laden, irgendein Fehler auf dieser Seite.
Gruß Tino
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Optimiere die Spaltenbreite in Excel


Schritt-für-Schritt-Anleitung

  1. Zellen vorbereiten: Stelle sicher, dass alle Überschriften in der Zeile, die du anpassen möchtest, auf die Standardausrichtung gesetzt sind. Manchmal kann eine Zentrierung die automatische Anpassung der Spaltenbreite beeinträchtigen.

  2. Spaltenbreite automatisch anpassen:

    • Wähle die Spalten aus, die du anpassen möchtest.
    • Klicke mit der rechten Maustaste und wähle „Spaltenbreite automatisch anpassen“ oder verwende den Shortcut Alt + H, O, I.
  3. VBA-Makro zur Optimierung nutzen: Wenn du öfter die Spaltenbreite anpassen musst, kannst du ein Makro verwenden. Füge den folgenden Code in das VBA-Editorfenster ein:

    Sub SpaltenbreiteOptimieren()
       Dim rngFilter As Range
       Application.ScreenUpdating = False
       With Worksheets("Aufstellung")
           .Unprotect Password:="sperl"
           If .AutoFilterMode Then
               Set rngFilter = .AutoFilter.Range
               rngFilter.AutoFilter
           End If
           .Columns("A:R").EntireColumn.AutoFit
           .Columns("T:V").EntireColumn.AutoFit
           .Columns("W:AB").EntireColumn.AutoFit
           .Columns("AC:AP").EntireColumn.AutoFit
           If Not rngFilter Is Nothing Then
               rngFilter.AutoFilter
           End If
           .Protect Password:="sperl", DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFiltering:=True
       End With
       Application.ScreenUpdating = True
    End Sub
  4. Testen: Führe das Makro aus und überprüfe, ob die Spaltenbreite nun korrekt ist.


Häufige Fehler und Lösungen

  • Spaltenbreite wird nicht automatisch angepasst: Wenn die Option „Spaltenbreite automatisch anpassen“ ausgegraut ist, könnte dies an aktivem Blattschutz liegen. Stelle sicher, dass der Blattschutz aufgehoben ist, bevor du die Anpassung vornimmst.

  • Unterschiedliche Ergebnisse bei mehrfacher Ausführung: Wenn das Makro bei wiederholter Ausführung unterschiedliche Spaltenbreiten liefert, überprüfe, ob Filter aktiviert sind oder ob die Überschriften unterschiedlich formatiert sind.


Alternative Methoden

  • Excel alle Spalten gleich breit Shortcut: Um alle Spalten gleich breit einzustellen, wähle die gewünschten Spalten aus und benutze den Shortcut Alt + H, O, W. Gib dann die gewünschte Breite in Pixel ein.

  • Manuelles Anpassen: Du kannst die Spaltenbreite auch manuell anpassen, indem du mit der Maus zwischen zwei Spaltenüberschriften klickst und ziehst.


Praktische Beispiele

  1. Schnelle Anpassung für einen Bericht: Nach dem Importieren von Daten aus einer CSV-Datei kann die Spaltenbreite oft nicht optimal sein. Verwende den Shortcut Alt + H, O, I, um alle Spalten schnell anzupassen.

  2. Wiederverwendbares Makro: Nutze das oben angegebene Makro in verschiedenen Arbeitsblättern, um die optimale Spaltenbreite für deine Daten schnell zu erreichen.


Tipps für Profis

  • Verwende Tastenkombinationen: Durch die Nutzung von Shortcuts wie Alt + H, O, I oder Alt + H, O, W kannst du deine Effizienz steigern.

  • Automatisiere mit VBA: Wenn du regelmäßig ähnliche Daten verarbeitest, kannst du VBA nutzen, um die Spaltenbreite automatisch anzupassen. So sparst du Zeit und vermeidest manuelle Fehler.


FAQ: Häufige Fragen

1. Warum funktioniert die automatische Spaltenbreite nicht?
Das kann an aktivem Blattschutz oder an speziellen Zellformatierungen liegen. Überprüfe, ob der Blattschutz aufgehoben ist und ob die Zellen korrekt formatiert sind.

2. Gibt es einen Shortcut für die optimale Spaltenbreite?
Ja, du kannst den Shortcut Alt + H, O, I verwenden, um die Spaltenbreite automatisch anzupassen.

3. Wie kann ich alle Spalten gleich breit einstellen?
Nutze den Shortcut Alt + H, O, W und gib die gewünschte Breite ein, um alle ausgewählten Spalten gleich breit zu machen.

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