Excel-Spalteninhalt auf mehrere Spalten verteilen

Hallo Leute,
wie kann ich die Listeneinträge, die ich in einer Spalte untereinander habe (ca.250 und mehr),automatisch auf 10 Spalten gleichmäßig verteilen, ohne mich um die Zeilenanzahl kümmern zu müssen ?
Gruss, Christian

Hallo, ich weiß nicht genau, wie du es meinst: Wenn du eine Spalte mit 250 Zeilen hast, die du auf 10 Spalten und 25 Zeilen verteilen möchtest, fällt mir dazu nur ein Makro ein. Falls du die Aufgabe häufiger hast, dürfte es damit am einfachsten gehen.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Es geht um eine Briefmarkenfehlliste. Das Erscheinungsbild soll im Endeffekt 10 Spalten breit sein. Da jedoch mit jedem Tausch Zellen entfallen ist es sehr arbeitsaufwendig, die Zellen zu löschen und im 10 spaltigen Satz zu verschieben, bzw. umzuschreiben.
Ich möchte gern aus einer einspaltigen Liste, die leichter zu warten ist, jeweils den aktuellen Stand nach der Korrektur neu 10spaltig generieren um ein aktualisiertes, kompaktes Druckbild zu erhalten. Es müßte etwas wie transponieren aus ‚Inhalte einfügen‘ sein, jedoch flexibel in der Zeilenumsetzung.
Was könnte ich wohl für ein Makro verwenden ? Bin unerfahren in der Makroprogrammierung.
Gruß, Christian

Hallo, ich weiß nicht genau, wie du es meinst: Wenn du eine
Spalte mit 250 Zeilen hast, die du auf 10 Spalten und 25
Zeilen verteilen möchtest, fällt mir dazu nur ein Makro ein.
Falls du die Aufgabe häufiger hast, dürfte es damit am
einfachsten gehen.

So, ich habe mal ein (hoffentlich) passendes Makro für dich geschrieben. Dabei bin ich davon ausgegangen, dass die Einträge zuerst von links nach rechts (nicht von oben nach unten) erfolgen sollen. Um es einzusetzen, gehst du am besten wie folgt vor:

Gehe in Excel auf Extras – Makro – Aufzeichnen

Dort kannst du einen passenden Namen für das Makro wählen, eine Tastenkombination, mit der du das Makro direkt aufrufen kannst (sehr hilfreich!). Falls du immer dieselbe Datei verwendest, kannst du bei Makro speichern in… „diese Arbeitsmappe“ wählen. Ansonsten „neue Arbeitsmappe“.

Klicke nun irgendeine Zelle an und beende die Aufzeichnung des Makros durch Klick auf die Stopp-Schaltfläche.

Gehe nun auf Extras – Makro – Makros, und wähle das gerade erstellte Makro aus, klicke dann auf Bearbeiten.

Entferne nun alle Zeilen ZWISCHEN Sub deingewähltername()
und End Sub. Füge an dieser Stelle das untenstehende Makro (ab dim) komplett ein.

Voila!

Das Makro kann nun stets mit Extras – Makro – Makros – (Makro auswählen) – Ausführen (oder natürlich mit der gewählten Tastenkombination) ausgeführt werden.

Hoffentlich konnte ich helfen. :smile:

Dim leer As String 'mit leer wird die letzte nicht leere Zelle geortet.
Dim lauf As Integer
Dim zahl As Integer
Dim hilfszahl As Integer

zahl = 0

Do
For lauf = 1 To 10
Range(„a1“).Select
hilfszahl = zahl * 10 + lauf - 1
ActiveCell.Offset(hilfszahl, 0).Range(„a1“).Select
ActiveCell.Copy

Range(„a1“).Select
ActiveCell.Offset(zahl, lauf).Range(„a1“).Select '*
ActiveSheet.Paste

Next lauf

’ *: Wenn die 10-spaltige Tabelle weiter nach rechts verschoben werden soll,
’ geben Sie an dieser Stelle lauf + 1, z. B., ein.
’ Für eine Verschiebung nach unten entsprechend hilfszahl + 1.

zahl = zahl + 1

Range(„a1“).Select
ActiveCell.Offset(zahl * 10).Range(„a1“).Select
leer = ActiveCell.FormulaR1C1

Loop Until leer = „“

Application.CutCopyMode = False
Range(„a1“).Select

Hallo honigschlecker,
vielen Dank für deine Hilfe. Das Makro ist richtig gut.
Finde ich echt klasse, das du dich so reingehängt hast.

Herzlichen Dank nochmal und weiterhin viel Spass,

Christian