excel数据排列:多行横排变竖排

把数据按照

q|w|e
r|t|y
u|i|o
...

的排列方式换成:

q
w
e
r
t
y
u
i
o

的排列方式?我知道选择一行后用选择性粘贴/转置可以调整方向,但是多行要按顺序排下去该怎么弄?
数据如下排列:
[Record0] 姓名:jllwlv 电子邮件地址:[email protected]
[Record1] 姓名:dsgsdf 电子邮件地址:[email protected]
[Record2] 姓名:jdfefd 电子邮件地址:[email protected]
...

需要变成;
[Record0]
姓名:jllwlv
电子邮件地址: [email protected]

[Record1]
姓名:dsgsdf
电子邮件地址: [email protected]

[Record2]
姓名:jdfefd
电子邮件地址: [email protected]

...

一直排下去,每行后两个数据列排到第一个下面。

在EXCEL档案里建立一个宏,将以下代码粘贴到宏的代码段,需要时执行该宏即可:
Dim DataRows As Long
Dim I As Long, tmpRow As Long

DataRows = [a65536].End(xlUp).Row
For I = 1 To DataRows
Range("A" & I & ":C" & I).Select
'Range("C" & I).Activate
Selection.Copy
Range("D" & (I - 1) * 3 + 1).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Next
Columns("A:C").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Range("A1").Select
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-08-03
在本文档中建立一个按钮,写如下代码
Sub 按钮1_单击()
For i = 1 To 3 '把这里的3改为你的实有行数即可
m = i * 4 - 4
Sheet2.Cells(m + 1, 1) = Sheet1.Cells(i, 1)
Sheet2.Cells(m + 2, 1) = Sheet1.Cells(i, 2)
Sheet2.Cells(m + 3, 1) = Sheet1.Cells(i, 3)
Sheet2.Cells(m + 4, 1) = ""
Next i
End Sub

运行后就会在sheet2中生成你要的结果。如果还不明白,留信箱给你原文件
第2个回答  2008-08-01
数据里面有“排序功能”。先选择你要排序的区域(比如A1:G10),然后选择数据->排序,会有探出窗口要你选择以哪一列做为排序列,升序还是降序。点击确定后就可以排序了。

最后你再复制,转置粘贴就好了。
相似回答