Excel - Ein Makro zum Übertragen von Daten von Zeilen in Spalten

Problem

Die Daten haben jetzt das folgende Format

 1 2 3

9 15 16 20 25

1

Dies muss in diesem Format erfolgen

 1

2

3

9

fünfzehn

16

20

25

1

Lösung

Annahmen:
  • 1. Die Daten beginnen in Zeile 1 und müssen immer in Spalte A kopiert werden
  • 2. Zeilen können ohne Datenverzerrung eingefügt werden

 Sub TransposeSpecial ()

Dim lMaxRows As Long 'max Zeilen im Blatt

Dimmen Sie die Zeile lThisRow As Long ab, die verarbeitet wird

Dim iMaxCol As Integer 'maximal verwendete Spalte in der zu verarbeitenden Zeile

lMaxRows = Cells (Rows.Count, "A"). End (xlUp) .Row

lThisRow = 1 'beginnt in Zeile 1

Do While lThisRow <lMaxRows

iMaxCol = Cells (lThisRow, Columns.Count) .End (xlToLeft) .Column

Wenn (iMaxCol> 1) dann

Zeilen (lThisRow + 1 & ":" & lThisRow + iMaxCol - 1) .Insert

Range (Cells (lThisRow, 2), Cells (lThisRow, iMaxCol))

Bereich ("A" & lThisRow + 1) .Wählen Sie

Selection.PasteSpecial Paste: = xlPasteAll, Operation: = xlNone, SkipBlanks: = False, Transpose: = True

Range (Cells (1ThisRow, 2), Cells (1ThisRow, iMaxCol)). Clear

lThisRow = lThisRow + iMaxCol - 1

lMaxRows = Cells (Rows.Count, "A"). End (xlUp) .Row

End If

lThisRow = lThisRow + 1

Schleife

End Sub

Beachten Sie, dass

Danke an rizvisa1 für diesen Tipp im Forum.
Vorherige Artikel Nächster Artikel

Top-Tipps