Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1220to1224
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Spalte A aufteilen

Spalte A aufteilen
Walter
Hallo
Ich habe in Spalte "A" 3000 Namen stehen. Ca. 1000 sind doppelt, zum Teil auch anders geschrieben.
( 1. FC Kahl 1.FC Kahl). Da die nun manuell Korrigiert werden müssen, hätte ich gern immer 30 Vereine in einer Spalte, also Spalte A auf 10 Spalten aufgeteilt.
Danke
Walter

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Spalte A aufteilen
26.07.2011 14:22:04
Rudi
Hallo,
Daten ab A2
B2: =INDEX($A:$A;(SPALTE()-2)*30+ZEILE())
und nach rechts und unten (Zeile31) kopieren
Anschließend Kopieren-Inhalte einfügen-Werte.
Gruß
Rudi
AW: Spalte A aufteilen
26.07.2011 15:15:43
Walter
Recht herzlichen Dank Euch Beiden,
Habe die Formel von Rudi eingesetzt und 100 Vereine pro Spalte genommen, so habe ich nur 28 Spalten.
8Keine Ahnung von VBA)
Noch einmal recht herzlichen Dank
Rentner Walter
aus dem nördlichen Nordhessen
AW: Spalte A aufteilen
26.07.2011 14:22:55
Tino
Hallo,
hier mal ein Versuch
Option Explicit

Sub Aufteilen()
Dim oDic As Object, ArrayDaten(), ArrayAusgabe()
Dim n&, nn&, varItems
'Quelle 
With Tabelle1
    ArrayDaten = .Range("A2", .Cells(.Rows.Count, 1).End(xlUp))
End With

Set oDic = CreateObject("Scripting.Dictionary")

For n = 1 To Ubound(ArrayDaten)
    oDic(Replace(ArrayDaten(n, 1), " ", "")) = ArrayDaten(n, 1)
Next n

Redim Preserve ArrayAusgabe(1 To 10, 1 To oDic.Count / 10 + 1)

n = 1: nn = 1
For Each varItems In oDic.Items
    ArrayAusgabe(n, nn) = varItems
    n = n + 1
    If n = 11 Then
        n = 1
        nn = nn + 1
    End If
Next varItems

'Ausgabe 
With Tabelle1
    'Bereich leer machen für Daten 
    .Range("B2", .Cells(.Rows.Count, .Columns.Count)).ClearContents
    With Range("B2").Resize(Ubound(ArrayAusgabe), Ubound(ArrayAusgabe, 2))
        .Value = ArrayAusgabe
    End With
End With
End Sub
Gruß Tino
Anzeige
Korrektur, Du willst ja 30 in eine Spalte...
26.07.2011 14:26:08
Tino
Hallo,
Option Explicit

Sub Aufteilen()
Dim oDic As Object, ArrayDaten(), ArrayAusgabe()
Dim n&, nn&, varItems
'Quelle 
With Tabelle1
    ArrayDaten = .Range("A2", .Cells(.Rows.Count, 1).End(xlUp))
End With

Set oDic = CreateObject("Scripting.Dictionary")

For n = 1 To Ubound(ArrayDaten)
    oDic(Replace(ArrayDaten(n, 1), " ", "")) = ArrayDaten(n, 1)
Next n

Redim Preserve ArrayAusgabe(1 To 30, 1 To oDic.Count / 30 + 1)

n = 1: nn = 1
For Each varItems In oDic.Items
    ArrayAusgabe(n, nn) = varItems
    n = n + 1
    If n = 31 Then
        n = 1
        nn = nn + 1
    End If
Next varItems

'Ausgabe 
With Tabelle1
    'Bereich leer machen für Daten 
    .Range("B2", .Cells(.Rows.Count, .Columns.Count)).ClearContents
    With Range("B2").Resize(Ubound(ArrayAusgabe), Ubound(ArrayAusgabe, 2))
        .Value = ArrayAusgabe
    End With
End With
End Sub
Gruß Tino
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige