Clever-Excel-Forum

Normale Version: Transformieren von mehrern Spalten als Zeile
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich brauche bitte mal wieder Unterstützung.

Ich habe eine Datei die Materialgruppen beinhaltet und dazu passende Werte. Die Materialgruppen stehen in den Zeilen und die Werte in den Spalten, das möchte ich gerne aber genau andersherum, dabei soll neben den Werten dann die MatGr stehen

Original

Matgr.     Wert1    Wert 2   Wert 3
Test           2           3          10
Test2         3           5           9

So soll es aussehen:

2   Test
3   Test
10  Test
3    Test2
5    Test2
9    Test

Eine Beispieldatei habe ich angefügt

Mit einfachem transponieren bekomme ich das nicht hin, gibt es dazu ggfs. eine Formel oder VBA Code Schnipsel? Danke für Anregungen und Tipps
Hallo,

z.B. per Makro so:

Code:
Option Explicit

Public Sub Transponieren()
Dim wsQ As Worksheet, wsZ As Worksheet
Dim loZeile As Long, loSpalte As Long
Dim loZeileZiel As Long, i As Long

Set wsQ = Worksheets("Original")
Set wsZ = Worksheets("so sollte es aussehen")

loZeile = wsQ.Cells(wsQ.Rows.Count, 1).End(xlUp).Row
loZeileZiel = wsZ.Cells(wsZ.Rows.Count, 2).End(xlUp).Offset(1).Row

Application.ScreenUpdating = False

For i = 2 To loZeile
   loSpalte = wsQ.Cells(i, wsQ.Columns.Count).End(xlToLeft).Column
   wsQ.Cells(i, 1).Copy wsZ.Cells(loZeileZiel, 2).Resize(loSpalte - 1)
   wsQ.Range(wsQ.Cells(i, 2), wsQ.Cells(i, loSpalte)).Copy
   wsZ.Cells(loZeileZiel, 1).PasteSpecial Paste:=xlPasteAll, Transpose:=True
   loZeileZiel = wsZ.Cells(wsZ.Rows.Count, 2).End(xlUp).Offset(1).Row
Next i

Application.CutCopyMode = False

Set wsQ = Nothing: Set wsZ = Nothing
End Sub


Gruß Werner
Klappt. Vielen Dank an Werner für die super schnelle Lösung.

Mit VBA werde ich mich wohl mal auseinandersetzen müssen   :21: