Excel - makro andmete edastamiseks ridadest veergudele
Probleem
Andmed on nüüd allpool1 2 39 15 16 20 25
1
See peab olema sellisel kujul
12
3
9
15
16
20
25
1
Lahendus
Eeldused:- 1. Andmed algavad reas 1 ja need kopeeritakse alati veergu A
- 2. Ridu saab sisestada ilma andmete moonutamiseta
Sub TransposeSpecial ()Dim lMaxRows lehel on pikad maksimaalsed read
Dim lThisRow As Long on töödeldav
Dim iMaxCol Nagu Integer 'max kasutatud veerg töödeldavas reas
lMaxRows = Rakud (read.Count, "A"). End (xlUp).
lThisRow = 1 'algab 1. real
Tehke lThisRow <lMaxRows
iMaxCol = Rakud (lThisRow, Columns.Count) .End (xlToLeft).
Kui (iMaxCol> 1) siis
Read (lThisRow + 1 & ":" & lThisRow + iMaxCol - 1).
Vahemik (rakud (lThisRow, 2), rakud (lThisRow, iMaxCol)).
Vahemik ("A" & lThisRow + 1) .Vali
Selection.PasteSpecial Paste: = xlPasteAll, operatsioon: = xlNone, SkipBlanks: = False, transponeeri: = True
Vahemik (rakud (lThisRow, 2), rakud (lThisRow, iMaxCol)).
lThisRow = lThisRow + iMaxCol - 1
lMaxRows = Rakud (read.Count, "A"). End (xlUp).
Lõpeta kui
lThisRow = lThisRow + 1
Loop
Lõpeta alam