Транспонировать несколько столбцов в несколько строк с VBA

Этот вид трансформации - это то, что я пытался выполнить. Просто для иллюстрации я сделал это в виде таблицы. Итак, первые 3 столбца должны повторяться, сколько цветов доступно.

Я искал другие подобные виды, но не мог найти, когда я хочу, чтобы несколько столбцов повторялись. Я нашел этот код в Интернете, но это имя. Спасибо. Расположение. Спасибо. Расположение. Спасибо. Расположение.

Sub createData()
Dim dSht As Worksheet
Dim sSht As Worksheet
Dim colCount As Long
Dim endRow As Long
Dim endRow2 As Long

Set dSht = Sheets("Sheet1") 'Where the data sits
Set sSht = Sheets("Sheet2") 'Where the transposed data goes

sSht.Range("A2:C60000").ClearContents
colCount = dSht.Range("A1").End(xlToRight).Column

 '// loops through all the columns extracting data where "Thank" isn't blank
For i = 2 To colCount Step 2
    endRow = dSht.Cells(1, i).End(xlDown).Row
    For j = 2 To endRow
        If dSht.Cells(j, i) <> "" Then
            endRow2 = sSht.Range("A50000").End(xlUp).Row + 1
            sSht.Range("A" & endRow2) = dSht.Range("A" & j)
            sSht.Range("B" & endRow2) = dSht.Cells(j, i)
            sSht.Range("C" & endRow2) = dSht.Cells(j, i).Offset(0, 1)
        End If
    Next j
Next i
End Sub

Может ли кто-нибудь помочь в изменении формата, который я хочу, я попытался изменить шаг 2 на 1 и j, чтобы начать с 4, но это не помогло. Другой, например, с 2 различными наборами:

Ответы на вопрос(2)

Ваш ответ на вопрос