我想将5列和100行的循环转换为1行

时间:2010-12-03 01:59:45

标签: excel-vba vba excel

我需要将5列和100行信息​​放入一个水平行中。

例如:

红色绿色蓝色黄色 红绿蓝黄 红绿蓝黄 等...

红色绿色蓝色黄色红色绿色蓝色黄色红色绿色蓝色黄色等等。

请帮助我不知道如何创建一个宏,所以尽可能基本!谢谢

1 个答案:

答案 0 :(得分:0)

这是一些在同一张纸上进行转置的代码。根据需要更改行和列。 希望您知道如何打开VBA编辑器并运行宏。

Sub transpose()
Dim row
Dim targetRow
Dim targetColumn
Dim column
Dim columnMin
Dim columnMax
Dim rowMin
Dim rowMax
Dim tmp

rowMin = 1
rowMax = 2
columnMin = 1
columnMax = 5

targetColumn = 7
targetRow = 1

row = rowMin
While row <= rowMax

    column = columnMin

    While column <= columnMax

        Cells(row, column).Select
        tmp = ActiveCell.Value
        Cells(targetRow, targetColumn).Select
        ActiveCell.Value = tmp
        targetRow = targetRow + 1
        column = column + 1

    Wend

    row = row + 1

Wend

End Sub

这样做是在所需的每一行上循环。 从所需的第一列开始。 循环遍历该行中的每一列,获取值并放入目标行和列。然后递增目标行。

我希望这里有足够的示例代码,您可以自行修改以解决您的具体问题。

“编辑 该死的。刚刚注意到这个问题需要1行,但是这样做了1列。不应该太难改变。