Excel - Makro pro přenos dat z řádků do sloupců

Problém

Data jsou nyní ve formátu níže

 1 2 3

9 15 16 20 25

1

To musí přijít v tomto formátu

 1

2

3

9

15

16

20

25

1

Řešení

Předpoklady:
  • 1. Data začínají řádkem 1 a mají být vždy zkopírovány do sloupce A
  • 2. Řádky lze vkládat bez zkreslení dat

 Sub TransposeSpecial ()

Dim lMaxRows As long řádky v listu

Řádek Dim lThisRow As Long je zpracováván

Dim zpracovaný sloupec iMaxCol As Integer 'max

lMaxRows = Buňky (Rows.Count, "A"). Konec (xlUp) .Row

lThisRow = 1 'začíná od řádku 1

Do Zatímco lThisRow <lMaxRows

iMaxCol = Buňky (lThisRow, Columns.Count) .End (xlToLeft).

Pokud (iMaxCol> 1) Potom

Řádky (lThisRow + 1 & ":" & lThisRow + iMaxCol - 1) .Insert

Rozsah (buňky (lThisRow, 2), buňky (lThisRow, iMaxCol)).

Rozsah ("A" & lThisRow + 1) .Vyberte

Selection.PasteSpecial Vložit: = xlPasteAll, Operace: = xlNone, SkipBlanks: = False, Transpose: = True

Rozsah (buňky (lThisRow, 2), buňky (lThisRow, iMaxCol)).

lThisRow = lThisRow + iMaxCol - 1

lMaxRows = Buňky (Rows.Count, "A"). Konec (xlUp) .Row

Konec Pokud

lThisRow = lThisRow + 1

Smyčka

End Sub

Všimněte si, že

Díky rizvisa1 za tento tip na fóru.
Předchozí Článek Následující Článek

Nejlepší Tipy