Einführung:

Manchmal müssen Sie eine Tabelle in Excel drehen. Sie haben beispielsweise diese eine Spalte des Datensatzes und möchten sie in ein Tabellenformat umwandeln (d. h. Zeilen 1:7 sollten in einer Zeile sein, Zeilen 8:14 sollten in einer anderen Zeile sein usw.). Dies lässt sich mithilfe der Transpose-Funktion von Excel beheben. Diese Funktion gibt einen vertikalen Zellbereich als horizontalen Bereich zurück oder umgekehrt.

Beispiel-Rohdaten

Voraussetzungen:

Um diesem Tutorial folgen zu können, benötigen Sie grundlegende Kenntnisse in Excel und VBA (Visual Basic für Applikation). Stellen Sie sicher, dass auf Ihrem Computer eine aktuelle Version von Microsoft Excel installiert ist.

Schritt 1: Bereiten Sie die makrofähige Arbeitsmappe vor

Erstellen Sie eine neue Excel-Arbeitsmappe und speichern Sie sie als makrofähige Arbeitsmappe (.xlsm), um die Ausführung von VBA-Code zu ermöglichen.

Schritt 2: Greifen Sie auf den Visual Basic-Editor zu

Drücken Sie „Alt+F11“, um den Visual Basic Editor (VBE) zu öffnen.

Klicken Sie im VBE-Fenster im Menü auf „Einfügen“ und wählen Sie „Modul“, um ein neues Modul zu erstellen.

Schritt 3: Schreiben Sie den VBA-Code

Fügen Sie im Modul den folgenden VBA-Code ein:

Sub PivotDataUsingTranspose()
    Dim counter As Long: counter = 1
    Dim lastrow As Long: lastrow = 140
    Dim size As Integer: size = 7
    Dim i As Long
    
    'Loop through the rows and pivot the data using Transpose
    For i = 1 To lastrow Step size
        counter = counter + 1
        shtDaten.Range("A" & counter & ":G" & counter).Value = Application.Transpose(shtRawData.Range("A" & i & ":A" & i + 6).Value)
    Next i
End Sub

Die Transpose-Funktion benötigt nur ein Argument, nämlich ein Array.

Ein Array oder Bereich von Zellen in einem Arbeitsblatt, die Sie transponieren möchten. Die Transponierung eines Arrays wird erstellt, indem die erste Zeile des Arrays als erste Spalte des neuen Arrays, die zweite Zeile des Arrays als zweite Spalte des neuen Arrays usw. verwendet wird.

Im obigen Beispiel ist das Array shtRawData.Range(„A“ & i & „:A“ & i + 6).Value

Schritt 4: Passen Sie den Code an

Sie können Folgendes ändern:

  • Variable lastrow – dies ist die Gesamtzahl der Zeilen, die Sie in einem Datensatz haben.
  • Variable size – dies ist die Anzahl der Elemente.
  • Blattcodename shtDaten – hier wird der Datensatz als Pivot eingefügt.
  • Blattcodename shtRawData – hier findet der Quelldatensatz statt.
  • Sie können den Bereich auch nach Bedarf ändern.

Schritt 5: Führen Sie das Makro aus

Drücken Sie „F5“ oder klicken Sie auf die Schaltfläche „Ausführen“ in der VBE-Symbolleiste, um das Makro auszuführen.

Das Makro iteriert den Datensatz und konvertiert ihn in einen tabellarischen Datensatz.

Das Bild unten zeigt die Ergebnisse:

Beispieltabellendatensatz

Benötigen Sie einen VBA Programmierer?

Wir als exact construct programmieren mit einem Team von rd. 20 Mitarbeitern seit über 10 Jahren Excel-Tools. Wir sind ein Nischenanbieter der spezialisiert auf Makros/VBA-Codes ist. Daneben unterstützen wir auch als 3rd Level Support die IT-Abteilungen rund um Probleme bei MS Office (Excel, Word, PowerPoint, etc.).

Haben Sie ein Excel-Problem? Benötigen Sie einen Makro-Programmierer? Rufen Sie uns unverbindlich an +41 52 511 05 25 oder kontaktieren Sie uns via Kontaktformular.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen