Excel Zeilen in Spalten umwandeln

bud

Mitglied
Ich habe eine Tabelle welche in folgendem Format aufgebaut ist:

Art.A, RabattA, RabattB, RabattC
Art.B, RabattA, RabattB, RabattC

Ich brauche aber folgendes Format:

Art.A, RabattA
Art.A, RabattB
Art.A, RabattC
Art.B, RabattA
Art.B, RabattB
etc.

Wie kann ich die Tabelle in dieses Format konvertieren?
 

Knoppix

Stammgast
Office 2003:

- Deinen Bereich markieren
- auf die Zelle, in die eingefügt werden soll rechtsklicken
- "inhalte einfügen" auswählen
- Häckchen bei "transponieren" setzen
- fertig

Edit: Funktioniert in Office 2007 genau so
 

bud

Mitglied
Diese Methode habe ich auch schon ausprobiert. Funktioniert aber nicht, da ich mehrere Zeilen untereinander haben möchte (siehe Beispiel)
 

mj10

Mitglied
Mit diesem VBA-Code sollte es gehen. Einfach ein Makro erstellen, dieses "Bearbeiten" (Button in übersicht Makros), dort sämtlichen Code löschen und durch diesen ersetzen:

Code:
Sub Rabattstruktur()
    zeile = 1
    spalte = 1
    bspalte = 1
    bzeile = 1
    Do While Cells(zeile, spalte) <> ""
        If Cells(zeile + 1, spalte) <> Cells(zeile, spalte) Then
            'Art-Sprung erkannt
            bzeile = zeile
            bspalte = 1
            counter = 0
            'Rabatte werden von links nach rechts "abgemäht"
            Do While Cells(bzeile, spalte + 1) <> ""
                'Anzahl Rabatte zählen für Rückschritt bei Löschung Ursprungszeile
                counter = counter + 1
                'Umstrukturierung
                Cells(zeile + 1, bspalte).EntireRow.Insert
                Cells(zeile + 1, bspalte) = Cells(bzeile, bspalte)
                Cells(zeile + 1, bspalte + 1) = Cells(bzeile, spalte + 1)
                zeile = zeile + 1
                spalte = spalte + 1
            Loop
        Else
        zeile = zeile + 1
        End If
        spalte = 1
        'Rückschritt und Ursprungszeile löschen
        If zeile > counter Then
            Cells(zeile - counter, spalte).EntireRow.Delete
        Else
        End If
    Loop
End Sub


Danach zurück ins Excel und per Alt-F8 die Makros aufrufen, dort müsste "Rabattstruktur" nun anzutreffen sein.
 
Zuletzt bearbeitet:

bud

Mitglied
Mit diesem VBA-Code sollte es gehen. Einfach ein Makro erstellen, dieses "Bearbeiten" (Button in übersicht Makros), dort sämtlichen Code löschen und durch diesen ersetzen:



Danach zurück ins Excel und per Alt-F8 die Makros aufrufen, dort müsste "Rabattstruktur" nun anzutreffen sein.

Vielen Dank. So hat es geklappt
 
Oben