EXCEL如何把复制了的一行,转置,然后插入第二行前面?1 2 3 4 5 变成1 2 3 4 5 5
展开全部
把下面代码放到对应的表中,运行这个宏。即可在A列生成整个表格转置后的数据。
当然,你可以修改 行范围和列范围来控制转置区域。
不限每行个数据个数是否一致,生成的新数据在A列,不覆盖原来数据。
Sub 转置()
Dim Arr, S As String
For i = 1 To Range("a65536").End(xlUp).Row '行范围
For j = 1 To Cells(i, 255).End(xlToLeft).Column '列范围
S = S & Cells(i, j) & " "
Next
Next
Columns(1).Insert
Arr = Split(S, " ")
Range("a1").Resize(UBound(Arr)) = Application.Transpose(Arr)
End Sub
当然,你可以修改 行范围和列范围来控制转置区域。
不限每行个数据个数是否一致,生成的新数据在A列,不覆盖原来数据。
Sub 转置()
Dim Arr, S As String
For i = 1 To Range("a65536").End(xlUp).Row '行范围
For j = 1 To Cells(i, 255).End(xlToLeft).Column '列范围
S = S & Cells(i, j) & " "
Next
Next
Columns(1).Insert
Arr = Split(S, " ")
Range("a1").Resize(UBound(Arr)) = Application.Transpose(Arr)
End Sub
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
选择性粘贴时,选第3行,转置后,再剪切第2行粘贴到最下面。这样不难吧?
追问
如果我第二行下面还有很多数据怎么办?我不是只有两行,我有上万条数据,其中有些就是横向出现这种情况
追答
用“选择性粘贴-转置”都覆盖掉目标区域原来的内容。
就“转置”到另一个工作表里去再行处理吧。
如果知道第一行的列数,才方便像一楼1975qjm那样用公式。
看看用VBA能否解决,但VBA就像一种类木马,使用时要慎重。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A5单元格写入公式
=OFFSET($A$1,(ROW(A1)-1)/4,MOD(ROW(A1)-1,4))
下拉复制公式
=OFFSET($A$1,(ROW(A1)-1)/4,MOD(ROW(A1)-1,4))
下拉复制公式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询