在单列下将excel行中的数据移动多个

时间:2013-03-14 21:59:01

标签: excel vba

我在一列下移动多个数据行时遇到一些问题。

目前情况如何

enter image description here

这就是我想要的方式

enter image description here

我已经尝试了一段时间找到这个问题的解决方案,但我似乎找不到任何可以解决这个问题的方法。

提前谢谢

2 个答案:

答案 0 :(得分:1)

选择性粘贴,Transpose是唯一接近你想要的东西,但这不适合你。我想你将不得不写一个宏或手动完成。

答案 1 :(得分:0)

正在考虑使用工作表函数来实现它,但却出现了空白。使用VBA可能要简单得多。

这是一种相当简单的方法。它查看Sheet1并输出到Sheet2(因为如果您尝试输出到同一个工作表而不先缓存所有值,它会覆盖某些值。)

这可以归功于Sheet.Cells对象(?)如何存储数据,A1,B1..Y1,Z1,A2,B2..Y2,Z2 其中YZ最后一个单元格。 (基本上与你的结果相反)

Sub Main()
Dim S1 As Worksheet
Dim S2 As Worksheet
Dim Cell As Variant
Dim Row As Long

    Set S1 = ThisWorkbook.Worksheets("Sheet1") ' Source Sheet
    Set S2 = ThisWorkbook.Worksheets("Sheet2") ' Destination Sheet

    Row = 1 ' Start Output on this row

    For Each Cell In S1.UsedRange.Cells

        S2.Cells(Row, 1).Value = Cell.Value
        Row = Row + 1

    Next Cell

End Sub