Sub Transpo()
Dim outarr() As Variant
inarr = ActiveSheet.UsedRange
ActiveSheet.UsedRange.ClearContents
rowno = UBound(inarr, 1)
colno = UBound(inarr, 2)
ReDim outarr(1 To colno, 1 To rowno)
For i = 1 To rowno
For j = 1 To colno
outarr(j, i) = inarr(i, j)
Next j
Next i
Range(Cells(1, 1), Cells(colno, rowno)) = outarr
End Sub