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

Forumthread: Spaltenbreite jeder einzelnen Spalte auslesen

Spaltenbreite jeder einzelnen Spalte auslesen
Frank
Guten Morgen,
wie kann ich mir alle Spaltenbreiten in einem Arbeitsblatt in einem zweiten Arbeitsblatt ausgeben lassen? Es sollen alle Spalten berücksichtigt werden, egal, ob sie eventuell ausgeblendet sind (Spaltenbreite null) oder gruppiert sind.
Ist das möglich?
Vielen Dank,
Frank
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Spaltenbreite jeder einzelnen Spalte auslesen
27.11.2009 09:13:11
Rudi
Hallo,
in ein Modul:
Sub tt()
Dim c As Range, i As Long
For Each c In Sheets(1).Columns
i = i + 1
Sheets(2).Cells(1, i) = c.ColumnWidth
Next
End Sub

Gruß
Rudi
AW: Spaltenbreite jeder einzelnen Spalte auslesen
27.11.2009 09:17:53
Frank
vielen dank!
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Spaltenbreite in Excel auslesen und anzeigen


Schritt-für-Schritt-Anleitung

Um die Spaltenbreite jeder einzelnen Spalte in Excel auszulesen und in einem zweiten Arbeitsblatt anzuzeigen, kannst Du das folgende VBA-Skript verwenden:

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

  2. Klicke im Menü auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub SpaltenbreiteAuslesen()
        Dim c As Range, i As Long
        For Each c In Sheets(1).Columns
            i = i + 1
            Sheets(2).Cells(1, i) = c.ColumnWidth
        Next
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus, indem Du ALT + F8 drückst, das Makro SpaltenbreiteAuslesen auswählst und auf Ausführen klickst.

Mit diesem Skript wird die Spaltenbreite jeder einzelnen Spalte aus dem ersten Arbeitsblatt in die erste Zeile des zweiten Arbeitsblatts übertragen. Auch ausgeblendete Spalten werden berücksichtigt.


Häufige Fehler und Lösungen

  • Fehler: Das Makro läuft nicht oder stürzt ab.

    • Lösung: Stelle sicher, dass Du die richtigen Berechtigungen hast, um Makros auszuführen, und dass der VBA-Editor keine Syntaxfehler aufweist.
  • Fehler: Die Spaltenbreiten werden nicht korrekt angezeigt.

    • Lösung: Überprüfe die Zielzelle im zweiten Arbeitsblatt. Stelle sicher, dass es sich um das richtige Arbeitsblatt handelt.

Alternative Methoden

Wenn Du kein VBA verwenden möchtest, kannst Du die Spaltenbreite auch manuell überprüfen:

  1. Klicke mit der rechten Maustaste auf die Spaltenüberschrift.
  2. Wähle „Spaltenbreite“ aus dem Kontextmenü.
  3. Notiere die angezeigte Breite.

Diese Methode eignet sich jedoch nicht, wenn Du die Breiten aller Spalten gleichzeitig benötigst.


Praktische Beispiele

  • Beispiel 1: Wenn Du nur jede zweite Spalte auslesen möchtest, kannst Du die Schleife im VBA-Code anpassen:

    Sub JedeZweiteSpalteAuslesen()
        Dim c As Range, i As Long
        For i = 1 To Sheets(1).Columns.Count Step 2
            Sheets(2).Cells(1, (i + 1) / 2) = Sheets(1).Cells(1, i).ColumnWidth
        Next i
    End Sub
  • Beispiel 2: Um die Spaltenbreite in einer MessageBox anzuzeigen, kannst Du Folgendes hinzufügen:

    MsgBox "Die Breite der ersten Spalte beträgt: " & Sheets(1).Columns(1).ColumnWidth

Tipps für Profis

  • Verwende Variablen: Setze Variablen ein, um den Code flexibler und lesbarer zu gestalten.
  • Dokumentiere Deinen Code: Füge Kommentare hinzu, um zukünftigen Lesern (oder Dir selbst) das Verständnis zu erleichtern.
  • Experimentiere mit Formeln: Wenn Du die Spaltenbreite dynamisch anpassen möchtest, kannst Du Formeln verwenden, um die Breiten zu berechnen und anzuzeigen.

FAQ: Häufige Fragen

1. Wie kann ich die Spaltenbreite in Excel schnell anpassen?
Du kannst die Spaltenbreite anpassen, indem Du zwischen den Spaltenüberschriften klickst und ziehst oder mit einem Doppelklick auf die Grenze zwischen den Spalten.

2. Gibt es eine Möglichkeit, Spaltenbreiten in mehreren Arbeitsblättern gleichzeitig auszulesen?
Ja, Du kannst das Skript so anpassen, dass es durch alle Arbeitsblätter iteriert und die Spaltenbreiten in einem einzigen Arbeitsblatt zusammenführt.

3. Funktioniert das Skript in allen Excel-Versionen?
Das Skript sollte in den meisten aktuellen Excel-Versionen (ab Excel 2010) funktionieren, die VBA unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige