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

Forumthread: Spaltenbreite aus Zellwert

Spaltenbreite aus Zellwert
02.01.2018 19:45:52
Suse
Ich habe eine Tabelle aus 2 Zeilen und >100 Spalten.
Die Spaltenbreite soll zwischen 1-15 variieren und der Wert aus der jeweiligen Spalte in Zeile 1 der Tabelle entnommen werden. Aber mein Code funktioniert nicht.
Sub Spaltenbreite ()
Columns("E:NL").ColumnWidth = ["E1:NL1"].Value
End Sub

Für Spalte E funktioniert folgendes.

Sub Spaltenbreite()
Columns("E").ColumnWidth = [e1].Value
End Sub

jedoch habe ich weit über 100 Spalten.
Wie gestalte ich den Befehlt, dass er für jede Spalte den korrekten Wert aus der zugehörigen Zelle entnimmt?
Vielen Dank
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Spaltenbreite aus Zellwert
02.01.2018 19:56:59
Gerd
Moin Suse,
mehreren Spalten kann man auf einen Schlag nur den selben Wert für die Spaltenbereite zuweisen.
Wie du festgestellt hast, funktioniert es mit unterschiedlichen Werten einzeln.
Sub spaltenbreiten()
Dim X As Range
For Each X In Columns("E:NL")
X.ColumnWidth = X.Cells(1, 1).Value
Next
End Sub

Gruß Gerd
Anzeige
AW: Spaltenbreite aus Zellwert
02.01.2018 21:04:47
Suse
vielen vielen vielen Dank, es hat perfekt geklappt
;
Anzeige
Anzeige

Infobox / Tutorial

Spaltenbreite aus Zellwert anpassen


Schritt-für-Schritt-Anleitung

Um die Spaltenbreite in Excel basierend auf dem Zellwert in der Kopfzeile zu ändern, kannst du die folgende VBA-Prozedur verwenden:

  1. Öffne Excel und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

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

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

    Sub Spaltenbreiten()
       Dim X As Range
       For Each X In Columns("E:NL") ' Hier die Spalten anpassen
           X.ColumnWidth = X.Cells(1, 1).Value
       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 auswählst und auf Ausführen klickst.

Dieser Code setzt die Spaltenbreite für die Spalten E bis NL basierend auf den Werten in der ersten Zeile (Kopfzeile) der jeweiligen Spalte.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004: Anwendung oder Objekt definiert Fehler."

    • Lösung: Stelle sicher, dass die Zellen in der Kopfzeile (z.B. E1 bis NL1) gültige numerische Werte enthalten.
  • Fehler: "Die Spaltenbreite kann nicht auf den angegebenen Wert gesetzt werden."

    • Lösung: Überprüfe, ob die Werte in der Kopfzeile im zulässigen Bereich (1 bis 255) liegen.

Alternative Methoden

Falls du keine VBA-Programmierung verwenden möchtest, kannst du auch die Spaltenbreite manuell anpassen:

  1. Markiere die Spalten, die du anpassen möchtest.
  2. Klicke mit der rechten Maustaste und wähle Spaltenbreite.
  3. Gib den gewünschten Wert ein.

Für Word-Tabellen kannst du die Spaltenbreite ebenfalls ändern, indem du die Spalten markierst und die Breite manuell anpasst.


Praktische Beispiele

Hier sind einige praktische Beispiele für die Verwendung der VBA-Prozedur:

  • Beispiel 1: Wenn in Zelle E1 der Wert 10 steht, wird die Spaltenbreite von Spalte E auf 10 gesetzt.
  • Beispiel 2: Wenn in Zelle F1 der Wert 15 steht, wird die Spaltenbreite von Spalte F auf 15 gesetzt.

Damit kannst du die excel spaltenbreite einzelner zellen ändern und die Tabelle optimal anpassen.


Tipps für Profis

  • Du kannst die Spaltenbreite auch dynamisch anpassen, indem du die Werte in der Kopfzeile aktualisierst und das Makro erneut ausführst.
  • Verwende benannte Bereiche, um die Lesbarkeit und Wartbarkeit deines Codes zu erhöhen.
  • Überlege, ob du eine Fehlerbehandlung in dein Makro einfügen möchtest, um unerwartete Werte in der Kopfzeile abzufangen.

FAQ: Häufige Fragen

1. Wie kann ich die Spaltenbreite für eine bestimmte Spalte ändern?
Du kannst den Code anpassen, indem du die Spalte in Columns("E") änderst.

2. Funktioniert dieser Code in Excel 365?
Ja, dieser VBA-Code funktioniert in Excel 365 sowie in älteren Versionen.

3. Wie kann ich die Spaltenbreite für eine Word-Tabelle ändern?
In Word kannst du die Spaltenbreite einzeln ändern, indem du die gewünschte Spalte markierst und die Größe manuell anpasst.

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