这个可以使用公式或者VBA来完成,但是相比之下,VBA更灵活一些,不管是多少行多少列,都可以一次完成,如果采用公式,当行数列数变化后公式就要做相应的调整,下面是使用VBA来完成的。
使用方法:点击转置为行按钮,会出现“请选择转置的区域”,然后在工作表中选择你的数据,然后确定,完成后会出现“请选择放置的位置”,点击选择后,就将多行转职成为一行。以下是录制的效果及执行代码
以下是代码
Sub hang()
Dim a, b As Object
Dim n!
Set a = Application.InputBox("请选择要转职的区域", , , , , , , 8)
Set b = Application.InputBox("请选择要放置的位置", , , , , , , 8)
For Each c In a
b.Offset(, n + 1 - 1) = c
n = n + 1
Next
End Sub
在VBA编辑窗口中新建一个模块,将代码复制到模块中,点击执行。
你可以使用公式&,将其他四行的内容合并起来。不过这样做只能是一列一列的做,不能一整行的来;也没法换成12列。你先弄成1行后再想办法吧
希望对你有用。
=INDEX($A$1:$C$4,INT((COLUMN(A1)-1)/3)+1,MOD(COLUMN(A1)-1,3)+1)
公式右拉
这个你也可以引用,也可以自己把它们手动粘贴到一个单元格!