Scrierea unui Macro pentru a utiliza funcția Transpose în mod repetat

voturi
0

Am încercat rânduri mutare valori într-o coloană în Excel. Funcția funcționează bine transpusa, dar se va muta doar un singur rând la un moment dat. Aș dori să obțină un macro care va converti 173 de rânduri de date pe trei coloane într-o singură coloană. Vă rugăm să consultați exemplul de mai jos. Multumesc anticipat pentru orice ajutor.

rânduri:

98058 98058 98314
82362 82684 83326
93410 93479 93761

coloane:

98058
98058
98314
82362
82684
83326
93410
93479
93761
Întrebat 12/03/2009 la 14:23
sursa de către utilizator
În alte limbi...                            


1 răspunsuri

voturi
1

Următoarele va încărca datele din CurrentRegion A1 într-o matrice și lipiți într-o singură coloană, începând cu A5.

Sunt presupunând că datele sunt numerice, contiguu și că acesta este un one-off, mai degrabă decât un exercițiu care ar putea să fie repetate pe seturi de date de dimensiuni diferite. În cazul în care datele nu sunt contigue, sau nu legat de celule goale, atunci puteți codul de greu intervalul de schimb.

Private Sub transposeRows()
Dim inputRange As Variant
Dim myArray() As Long
Dim x As Long
Dim testCell As Range

'Get the range of data to copy'
Set inputRange = Range("A1").CurrentRegion

'Resize array to fit'
ReDim myArray(inputRange.Count - 1)

'Fill up array with data'
For Each testCell In inputRange
    myArray(x) = testCell
    x = x + 1
Next testCell

'Fill destination range'
Range("A5:A" & UBound(myArray) + 5) = WorksheetFunction.Transpose(myArray)

End Sub
Publicat 12/03/2009 la 15:42
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more