Clever-Excel-Forum

Normale Version: Spalte in mehrere Zeilen aufteilen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Tag Leute

Ich bin neu in diesem Forum und habe auch schon ein wenig im Forum geguckt, allerdings habe ich auf meine Frage leider noch keine Antwort gefunden.

Ich kenne mich mit excel nicht sonderlich gut aus, eigentlich nur mit den Standartfunktionen.

Aber nun zu meiner Frage:

Ich habe eine Tabelle mit einer Spalte und 35040 Zeilen. In Jeder Zelle steht ein Wert. Nun möchte ich diese Tabelle in eine Tabelle im Format 365 Spalten mit je 96 Zeilen haben.
Es sollen also quasi immer 96 Werte genommen werden und diese dann in eine neue Spalte neben der vorherigen Spalte eingefügt werden.
Da dies per Hand einfach zu aufwändig wäre, hoffe ich, dass es dafür eine Funktion in excel gibt.

Ich hoffe ihr habt verstanden, was ich von euch möchte :)

Vielen Dank schonmal vorweg :)
Hallo!
Vorweg:
Darf es VBA sein oder möchtest Du Formeln?
Ich bastel mal etwas mit VBA.

Gruß Ralf
Wie es gemacht wird ist egal, da ich im Endeffekt eh nur die Werte aus den Tabellen benötige :)
Hi!
Laufzeit ca. 5 Sekunden, könnte man mit Arrays beschleunigen, aber vielleicht reicht es Dir ja auch so:

Sub tranform()
Dim cnt As Long, Spalte As Integer
Spalte = 2
Application.ScreenUpdating = True
With Tabelle1
   For cnt = 97 To 35040 Step 96
      .Range(.Cells(cnt, 1), Cells(cnt + 95, 1)).Cut .Cells(1, Spalte)
      Spalte = Spalte + 1
   Next
End With
End Sub

Gruß Ralf
Hallo,

in B1 diese Formel:


Code:
=INDEX($A:$A;SPALTE(A$1)*96+ZEILE($A1))


bis zur Zeile 96 nach unten und bis zur Spalte 364 nach rechts ziehen.
Hi Bosko!
Genau daran habe ich auch gerade gearbeitet (mit einer etwas anderen Formel).  :19:
Als Makro pfeilschnell (0,3 Sekunden):

Sub PerFormel()
Application.ScreenUpdating = False
With Tabelle1
   With .Range(.Cells(1, 2), .Cells(96, 365))
      .Formula = "=INDEX(C1,COLUMN(RC[-1])*96+ROW())"
      .Copy: .PasteSpecial xlValues
   End With
   .Range("A97:A35040").ClearContents
End With
End Sub

Gruß Ralf
Vielen Dank an euch, es haben beide geklappt. Das erspart mir sehr viel Arbeit :)