Blockweise transponieren

Ein „normales“ transponieren bedeutet ja, dass alle untereinander stehenden Werte anschließend waagerecht angeordnet sind. Das geht problemlos mit Kopieren und anschließend Inhalte einfügen | Transponieren. Anders sieht es aber aus, wenn in einer Tabelle Blöcke derart gebildet werden, wie in dieser Abbildung zu sehen:

Daten, die blockweise transponiert werden sollen

Daten, die blockweise transponiert werden sollen

Die Anzahl der Lagerplätze (Regal) ist unterschiedlich, auch die Anzahl der Produkte (Spalte A) variiert. Eine kleine Mustertabelle sollten Sie hier im Blog herunterladen. Natürlich könnten Sie die Blöcke per Hand markieren und anschließend untereinander beispielsweise beginnend in Spalte D einfügen. Das sähe dann so aus:

Von Hand transponierte Werte

Von Hand transponierte Werte

So ganz ist das aber nicht die Zielvorstellung. Erstens kann das bei einer hohen Anzahl von Artikeln (sprich Blöcken) ganz schön aufwendig sein und zweitens soll jeder Artikel in nur 1 Zeile stehen:

Pro Artikel nur 1 Zeile, so soll es sein

Pro Artikel nur 1 Zeile, so soll es sein

Die letztgenannte Forderung ließe sich ja noch per Hand erledigen, aber da läge meine persönliche Grenze bei 10 Artikeln. Das wären ja insgesamt rund 20 Verschiebe-Aktionen, denn einerseits sollen die Werte in die Zeile mit der Produktbezeichnung verschoben werden und dann sollen die leeren Zeilen irgendwie eliminiert werden.  😥 

Aus dem Grund ziehe ich eine Lösung per Makro/VBA vor. Da sind auch große Datenmengen rasch transponiert. In der Mustertabelle entweder auf die Los!-Schaltfläche klicken oder das Makro per AltF8 per Hand aufrufen.

Hinweis: Es geht auch mit reinen Excel-Formeln (also ohne VBA), in der Regel sind da aber Hilfsspalten erforderlich. Und die versuche ich zu meiden.

▲ nach oben …

Dieser Beitrag wurde unter Mit VBA/Makro, Tabelle und Zelle abgelegt und mit , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.