使用 Excel VBA 宏将一行数据复制并粘贴到单独的行和交错的列中

使用 Excel VBA 宏将一行数据复制并粘贴到单独的行和交错的列中

我正在尝试自动执行以下步骤。从一行 Excel 数据中,我想将每个单元格值复制并粘贴到单独的行中,但按列交错,如图所示。是否有可以执行此步骤的 VBA 宏代码?提前致谢!

预期输出的屏幕截图

答案1

有一个名为 Offset 的 VBA 函数。当您循环遍历第 1 行中的单元格时,增加一个变量并使用它来控制每个值的 Offset。

Option Explicit

Sub staggerRows()

    Dim i As Long, rng As Range

    With Worksheets("sheet1")

        For Each rng In .Range(.Cells(1, "B"), .Cells(1, .Columns.Count).End(xlToLeft))

            i = i + 1
            rng.Offset(i, 0) = rng.Value2

        Next rng

    End With

End Sub

相关内容