Скопируйте и вставьте строку данных в отдельные строки и расположенные в шахматном порядке столбцы с помощью макроса Excel VBA.

Скопируйте и вставьте строку данных в отдельные строки и расположенные в шахматном порядке столбцы с помощью макроса Excel VBA.

Я пытаюсь автоматизировать следующий шаг. Из одной строки данных Excel я хотел бы скопировать и вставить каждое значение ячейки в отдельные строки, но разнесенные по столбцам, как показано на рисунке. Есть ли макрос VBA, который может выполнить этот шаг? Заранее спасибо!

снимок экрана предполагаемого вывода

решение1

Есть функция VBA, которая называется Offset. Когда вы проходите по ячейкам в строке 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

Связанный контент