Excel - makro do przesyłania danych z wierszy do kolumn
Kwestia
Dane są teraz w poniższym formacie1 2 39 15 16 20 25
1
To musi mieć ten format
12
3
9
15
16
20
25
1
Rozwiązanie
Założenia:- 1. Dane zaczynają się od wiersza 1 i należy je zawsze kopiować do kolumny A
- 2. Wiersze można wstawiać bez zniekształceń do danych
Sub TransposeSpecial ()Przyciemnij maksymalne wiersze lMaxRows As Long w arkuszu
Trwa przetwarzanie wiersza Dim lThisRow As Long
Dim iMaxCol As Integer 'max używana kolumna w przetwarzanym wierszu
lMaxRows = Komórki (Rows.Count, "A"). End (xlUp) .Row
lThisRow = 1 'zaczyna się od wiersza 1
Do While lThisRow <lMaxRows
iMaxCol = Komórki (lThisRow, Columns.Count) .End (xlToLeft) .Column
Jeśli (iMaxCol> 1) Następnie
Wiersze (lThisRow + 1 & ":" & lThisRow + iMaxCol - 1). Wstaw
Zakres (komórki (lThisRow, 2), komórki (lThisRow, iMaxCol)).
Zakres („A” i lThisRow + 1). Wybierz
Selection.PasteSpecial Paste: = xlPasteAll, Operation: = xlNone, SkipBlanks: = False, Transpose: = True
Zakres (komórki (lThisRow, 2), komórki (lThisRow, iMaxCol)).
lThisRow = lThisRow + iMaxCol - 1
lMaxRows = Komórki (Rows.Count, "A"). End (xlUp) .Row
Zakończ jeśli
lThisRow = lThisRow + 1
Pętla
Napis końcowy