hello
i need adjusting this code works for 3 column a,b,c but i have a,b,c,d it transposes data from vertical to horizonal i try to adjust but i failed because i have no experience in vba this is the code
Sub TransposeColumns()
Dim a As Variant, b() As Variant
Dim dic As Object, i As Long, lin As Long, col As Long, n As Long
Set dic = CreateObject("Scripting.Dictionary")
a = Range("A2:e" & Range("A" & Rows.Count).End(xlUp).Row).Value2
For i = 1 To UBound(a)
dic(a(i, 1)) = dic(a(i, 1)) + 1
If dic(a(i, 1)) > n Then n = dic(a(i, 1))
Next
n = (n * 2) + 1
ReDim b(1 To dic.Count, 1 To n)
dic.RemoveAll
For i = 1 To UBound(a)
If Not dic.exists(a(i, 1)) Then
lin = lin + 1
col = 1
b(lin, col) = a(i, 1)
Else
lin = Split(dic(a(i, 1)), "|")(0)
col = Split(dic(a(i, 1)), "|")(1) + 2
End If
dic(a(i, 1)) = lin & "|" & col
b(lin, col + 1) = a(i, 2)
b(lin, col + 2) = a(i, 3)
Next
Application.ScreenUpdating = False
Range("g2").Resize(dic.Count, n).Value = b
Application.ScreenUpdating = True
End Sub