Option Explicit
Sub ListCombinations()
Dim colA, colB, colC, colD, colE
Range("G:G").EntireColumn.ClearContents
'1 dimension
For Each colA In Range("A2:A4")
Cells(Rows.Count, 7).End(xlUp).Offset(1, 0) = colA.Address(False, False)
Next colA
'2 dimensions
For Each colB In Range("B2:B7")
For Each colA In Range("A2:A4")
Cells(Rows.Count, 7).End(xlUp).Offset(1, 0) = colA.Address(False, False) & colB.Address(False, False)
Next colA
Next colB
'3 dimensions
For Each colC In Range("C2")
For Each colB In Range("B2:B7")
For Each colA In Range("A2:A4")
Cells(Rows.Count, 7).End(xlUp).Offset(1, 0) = colA.Address(False, False) & colB.Address(False, False) & colC.Address(False, False)
Next colA
Next colB
Next colC
'4 dimensions
For Each colD In Range("D2:D8")
For Each colC In Range("C2")
For Each colB In Range("B2:B7")
For Each colA In Range("A2:A4")
Cells(Rows.Count, 7).End(xlUp).Offset(1, 0) = colA.Address(False, False) & colB.Address(False, False) & colC.Address(False, False) & colD.Address(False, False)
Next colA
Next colB
Next colC
Next colD
'5 dimensions
For Each colE In Range("E2:E1697")
For Each colD In Range("D2:D8")
For Each colC In Range("C2")
For Each colB In Range("B2:B7")
For Each colA In Range("A2:A4")
Cells(Rows.Count, 7).End(xlUp).Offset(1, 0) = colA.Address(False, False) & colB.Address(False, False) & colC.Address(False, False) & colD.Address(False, False) & colE.Address(False, False)
Next colA
Next colB
Next colC
Next colD
Next colE
MsgBox "done"
End Sub