Option Explicit
Sub TransposeRank()
' hiker95, 03/20/2011
' http://www.mrexcel.com/forum/showthread.php?t=537333
Dim w1 As Worksheet, wR As Worksheet
Dim LR As Long, LC As Long, NR As Long
Dim a As Long, aa As Long
Application.ScreenUpdating = False
Set w1 = Worksheets("Sheet1")
If Not Evaluate("ISREF(Results!A1)") Then Worksheets.Add(After:=w1).Name = "Results"
Set wR = Worksheets("Results")
wR.UsedRange.Clear
Set wR = Worksheets("Results")
wR.Range("A1:F1") = [{"Date","Hour","Name","QUANTITY","Price","Rank"}]
LR = w1.Cells(Rows.Count, 1).End(xlUp).Row
For a = 6 To LR Step 1
LC = w1.Cells(a, Columns.Count).End(xlToLeft).Column
For aa = 4 To LC Step 2
NR = wR.Range("A" & Rows.Count).End(xlUp).Offset(1).Row
wR.Range("A" & NR).Resize(, 3).Value = w1.Range("A" & a).Resize(, 3).Value
wR.Range("D" & NR).Resize(, 2).Value = w1.Range(w1.Cells(a, aa), w1.Cells(a, aa + 1)).Value
Next aa
Next a
LR = wR.Cells(Rows.Count, 1).End(xlUp).Row
wR.Range("A2:A" & LR).NumberFormat = "m/d/yyyy"
wR.Range("F2").Formula = "=RANK(E2,$E$2:$E$" & LR & ",1)"
wR.Range("F2").AutoFill Destination:=wR.Range("F2:F" & LR)
wR.UsedRange.Columns.AutoFit
wR.Activate
Application.ScreenUpdating = True
End Sub