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

Forumthread: Spaltenbreiten übertragen

Spaltenbreiten übertragen
23.10.2021 15:07:50
Burghard
Hallo,
ich möchte vom ActiveSheet die Spaltenbreiten der Spalten A bis G in alle anderen Tabellenblätter übertragen. Ich bekomme aber beim nachfolgenden Makro eine Fehlermeldung beim "paste". Hilfe wäre nett.
Viele Grüße
Burghard

Sub SpaltenbreiteKopieren()
'Kopiere Spalte A:G vom aktiven Tabellenblatt
ActiveSheet.Columns("A:G").Copy
'Füg die Spaltenbreite in alle anderen sichtbaren Tabellen ein
For Each ws In ThisWorkbook.Worksheets
If ws.Visible Then
ws.Cells.PasteSpecial Paste:=xlPasteColumnWidths, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End If
Next ws
End Sub
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spaltenbreiten übertragen
23.10.2021 15:14:06
Hajo_Zi
in meiner Datei kein Fehler.

Option Explicit
Sub SpaltenbreiteKopieren()
'Kopiere Spalte A:G vom aktiven Tabellenblatt
Dim Ws As Worksheet
ActiveSheet.Columns("A:G").Copy
'Füg die Spaltenbreite in alle anderen sichtbaren Tabellen ein
For Each Ws In ThisWorkbook.Worksheets
If Ws.Visible Then
Ws.Cells.PasteSpecial Paste:=xlPasteColumnWidths
End If
Next Ws
End Sub
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
ändern.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
GrußformelHomepage
In diesem Forum bekomme nur selten eine Mailbenachrichtigung, weitere Antworten sind zufällig.
Anzeige
AW: Spaltenbreiten übertragen
23.10.2021 16:05:15
GerdL
Moin Burghard!

Sub SpaltenbreiteKopieren()
Dim Ws As Worksheet
'Kopiere Spalte A:G vom aktiven Tabellenblatt
ActiveSheet.Columns("A:G").Copy
'Füg die Spaltenbreite in alle anderen sichtbaren Tabellen ein
For Each Ws In ThisWorkbook.Worksheets
If Ws.Visible And Ws.Name  ActiveSheet.Name Then
Ws.Columns("A:G").PasteSpecial Paste:=xlPasteColumnWidths
End If
Next Ws
Application.CutCopyMode = False
End Sub
Gruß Gerd
Anzeige
AW: Spaltenbreiten übertragen
23.10.2021 17:12:37
Burghard
Hallo Gerd,
vielen Dank für Deine schnelle Antwort. Ich bekomme eine Fehlermeldung bei dieser Zeile:
Ws.Columns("A:G").PasteSpecial Paste:=xlPasteColumnWidths
Kann es sein, dass mein Excel 2000 diesen Code nicht richtig verarbeiten kann?
Viele Grüße
Burghard
AW: Spaltenbreiten übertragen
23.10.2021 23:06:42
GerdL
Hallo Burghard,
nach meiner Recherche soll dies in Excel 2000 nicht funktionieren.
Kopiere, wenn möglich die ganzen Zellen u. Clear.
Gruß Gerd
Anzeige
AW: Spaltenbreiten übertragen
24.10.2021 12:08:19
Burghard
Hallo Gerd,
vielen Dank für Deine Info und die Arbeit, die Du Dir gemacht hast. Excel 2000 hat doch (leider) seine Einschränkungen.
Viele Grüße
Burghard
AW: Spaltenbreiten übertragen
24.10.2021 00:25:53
Daniel
Hi
Gib mal bei PasteSpecial nur die erste Zelle als Ziel an: ws.Cells(1, 1).PasteSpecial ...
Einen Zellbereich als Einfügeziel braucht man nur dann, wenn das Ziel größer ist als der kopierte Bereich und die kopierten Inhalte vervielfacht werden müssen.
Bei einer 1:1 Kopie reicht die erste Zelle.
Gruß Daniel
Anzeige
AW: Spaltenbreiten übertragen
24.10.2021 12:10:32
Burghard
Hallo Daniel,
vielen Dank für Deine Info und den Lösungsansatz. Hab ich getestet. Geht leider nicht. Excel 2000 hat da (leider) seine Beschränkungen.
Noch einen schönen Sonntag!
Burghard
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Spaltenbreiten in Excel effizient übertragen


Schritt-für-Schritt-Anleitung

Um die Excel-Spaltenbreiten von einem Arbeitsblatt auf andere Blätter zu übertragen, kannst du folgendes Makro verwenden:

Sub SpaltenbreiteKopieren()
    Dim Ws As Worksheet
    ' Kopiere Spalte A:G vom aktiven Tabellenblatt
    ActiveSheet.Columns("A:G").Copy
    ' Füge die Spaltenbreite in alle anderen sichtbaren Tabellen ein
    For Each Ws In ThisWorkbook.Worksheets
        If Ws.Visible And Ws.Name <> ActiveSheet.Name Then
            Ws.Columns("A:G").PasteSpecial Paste:=xlPasteColumnWidths
        End If
    Next Ws
    Application.CutCopyMode = False
End Sub

Dieses Makro kopiert die Spaltenbreiten der Spalten A bis G vom aktiven Arbeitsblatt und überträgt sie auf alle anderen sichtbaren Blätter. Achte darauf, dass du das richtige Arbeitsblatt auswählst.


Häufige Fehler und Lösungen

Fehler 1: Fehlermeldung beim PasteSpecial
Wenn du eine Fehlermeldung erhältst, könnte es daran liegen, dass die Excel-Version, die du verwendest, (z.B. Excel 2000) nicht alle Funktionen unterstützt. Verwende stattdessen:

Ws.Cells(1, 1).PasteSpecial Paste:=xlPasteColumnWidths

Fehler 2: Spaltenbreite wird nicht übernommen
Stelle sicher, dass du die Sichtbarkeit der Blätter überprüfst. Das Makro überspringt unsichtbare Blätter.


Alternative Methoden

Wenn du keine VBA-Makros verwenden möchtest, kannst du die Spaltenbreiten auch manuell übertragen:

  1. Manuelles Kopieren:

    • Wähle die gewünschten Spalten aus und kopiere sie (Strg+C).
    • Wechsle zu dem Zielblatt, klicke mit der rechten Maustaste auf die entsprechende Spalte und wähle "Spaltenbreite einfügen".
  2. Format übertragen:

    • Wähle die Spalten A bis G aus, klicke auf "Start", dann auf "Format übertragen" und ziehe den Pinsel über die Zielspalten in anderen Blättern.

Praktische Beispiele

Beispiel 1: Du hast ein Arbeitsblatt mit spezifischen Spaltenbreiten, die du auf deine Berichtsblätter anwenden möchtest. Verwende das oben genannte Makro, um die Excel-Spaltenbreiten auf andere Blätter zu übertragen.

Beispiel 2: Wenn du eine neue Tabelle erstellst und die Spaltenbreiten der bestehenden Tabelle übernehmen möchtest, kannst du dies ebenfalls mit dem Makro tun.


Tipps für Profis

  • Wiederverwendbarkeit: Speichere das Makro in deiner persönlichen Makroarbeitsmappe, um es in zukünftigen Excel-Projekten leicht zugänglich zu haben.
  • Variationen: Du kannst das Makro anpassen, um auch die Zeilenbreite oder Zellengrößen zu übertragen, indem du Rows anstelle von Columns verwendest.
  • Schnelle Navigation: Verwende die Tastenkombination Alt+F11, um schnell zur VBA-Umgebung zu gelangen, wenn du Anpassungen vornehmen möchtest.

FAQ: Häufige Fragen

1. Kann ich die Spaltenbreiten auf alle Blätter in meiner Arbeitsmappe anwenden?
Ja, das Makro überträgt die Spaltenbreiten auf alle sichtbaren Blätter in deiner Arbeitsmappe.

2. Funktioniert dieses Makro in Excel 2000?
Es kann sein, dass einige Funktionen in älteren Versionen wie Excel 2000 nicht unterstützt werden. Es ist ratsam, ein Update in Betracht zu ziehen, um die neuesten Funktionen nutzen zu können.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige