Transponieren von Daten in Microsoft Excel

April 04, 2011

Reading time ~1 Minute

Schnelles VBA Makro zum Transponieren von Daten in Excel - wenn die eingebaute Transponier-Funktion wieder einmal zu inflexibel ist...

Sub BlockTranspose()
' ------------------------------------------------------- 
' BlockTranspose 
' Transpose x/y/z-Array in Excel with VBA Macro
' www.mplx.eu, 04/04/2011
' ------------------------------------------------------- Config/Start
srcSheet = "Table1" ' Quell-Sheet
targetSheet = "Table2" ' Ziel-Sheet
MaxcntData = 100 ' letzte Zeile mit Daten (zeilenanzahl)
KeyColumn = 1 ' Spalte mit y-Bezeichnung (A=1, B=2, usw)
HeaderColumn = 2 ' Spalte mit x-Bezeichnung (A=1, B=2, usw)
DataColumn = 3 ' Spalte mit zu transponierenden Daten (A=1, B=2, usw)
HeadLine = 1 ' Kopfzeile
BlockCnt = 10 ' Anzahl Elemente (=Zeilen) pro Block
targetOffset = 0 ' TargetOffset (Zeilenanzahl)
' ------------------------------------------------------- Config/End

' Init
Set src = Worksheets(srcSheet)
Set target = Worksheets(targetSheet)

' Header
target.Cells(1, 1) = src.Cells(HeadLine, 1)
For cntHead = 1 To BlockCnt
target.Cells(1 + targetOffset, cntHead + HeadLine) = src.Cells(cntHead + HeadLine, HeaderColumn)
Next cntHead

' Transpose data
For cntData = 0 To (MaxcntData - 1) / BlockCnt
target.Cells(cntData + 1 + targetOffset, 1) = src.Cells(cntData * BlockCnt + 1, KeyColumn)
For cntHead = 1 To BlockCnt
target.Cells(cntData + HeadLine + 1 + targetOffset, cntHead + 1) = src.Cells(cntData * BlockCnt + cntHead + HeadLine, DataColumn)
Next cntHead
Next cntData

End Sub

Hinweis: dieser Artikel ist ursprünglich auf dem IT-Blog "copy/paste" (www.copypaste.at) erschienen.

RegEx Online Tools zum Testen und Ausprobieren von regulären Ausdrücken

Reguläre Ausdrücke (RegEx) sind ein mächtiges Werkzeug um Textdateien zu bearbeiten, Inhalte zu Filtern und Eingabedaten zu prüfen. Allerdin…… Continue reading