У меня есть лист Excel, который выглядит как первая картинка, и я хочу, чтобы преобразовать его на вторую картинку: столбца транспонирование Excel для строк
Я написал следующий код, но он не работает, как ожидался. Он удаляет больше строк, чем ожидалось. Что не так с кодом?
Sub Trans3()
Dim rng As Range, rng2 As Range
Dim I As Long
Dim J As Integer, Z As Integer, Q As Integer, T As Integer
Set rng = Range("B1")
While rng.Value <> ""
For Each y In Range("A1:A10")
I = I + 1
J = I
Z = 1
Do While Cells(J + 1, 1).Value = Cells(J, 1).Value
J = J + 1
Loop
Set rng2 = Range("B" & I & ":B" & J)
If I > 1 Then
Z = J - I + 1
Else
Z = J
End If
rng2.Resize(Z).Copy
Range("C" & I).PasteSpecial Transpose:=True
T = I
Do While J > 1
Q = T + 1
Rows(Q).EntireRow.Delete
J = J - 1
Loop
Next y
Wend
End Sub
Это работает ... Thnx – Shank
+ проголосовали за скорость из-за использования формулы для всех уникальных значений в наборе данных. – cyboashu