EXCEL如何用宏实现转置多行多列

比如对于a行b列的数据,怎么能将第二行的数据接在第一行后面,就是将第二行的第一列放在第一行的第b+1列;然后依次将第三行接在第二行后面,第四行接在第三行后面,等等。总之将多行多列数据变成一行多列的数据
这样可以实现定量定位的数据,我想实现的是大批量不确定行数列数,且不确定初始位置的从其他非EXCEL软件中复制过来的数据,所以想编制一个宏来实现将复制来的数据在粘贴的地方按上述方法转置成一行多列的数据

可以用函数解决,如果数据在A1:B20中,C1中输入
=OFFSET($A$1,ROUNDUP(COLUMN(A1)/2,),MOD(COLUMN(B1),2))
用自动填充柄将C1中公式向右复制,就可以实现你的要求了。
不确定的行,列,不确定的开始和结束,用公式难度很大,运行会极慢,我以前试过,公式很长很费解,而且这台电脑上没有保存。你还是让其它人用宏做吧。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-21
试试这个,运行宏前先选中需要转换的区域。还有问题HI我:

Sub Transmit()
If Selection.Count < 2 Then Exit Sub
Set c = Application.InputBox("请选择目标区域的第一个单元格", Type:=8)
i = 0
Set c = IIf(c.Count = 1, c, c(1, 1))
For Each cel In Selection
c.Offset(0, i) = cel
i = i + 1
Next
If MsgBox("清除原内容吗?", vbYesNo) = vbYes Then Selection.ClearContents
End Sub本回答被提问者采纳
相似回答