Home » excel » excel – How to create a list from beginning number and end number

# excel – How to create a list from beginning number and end number

Questions:

I have a set of numbers:

`````` |  A     B
--------------
1| 100   102
2| 103   103
3| 104   105
4| 106   110
``````

Column A is the beginning number and Column B is the end number. We need to create a list (on a separate cell) of numbers using the beginning number and end number using column A & B.
E.g. based on the 1st set of data from Row 1(A1 & B1) the 1st set of numbers will be: 100,101,102, then it will go to row 2, put 103 after 102 and move on to row 3, expanded the list and display 104 and 105, then to last row where it should list 105,106,107,108,109,110.

We should be able to mark the beginning of the number for the list so that we know the start of each list. i.e. all the number listed in Column A should be marked.

Not sure I completely understand your question, but I think you want to turn this:

```100 102
103 103
104 105
106 110
```

into this?

```100 102     100, 101, 102
103 103     103
104 105     104, 105
106 110     106, 107, 108, 109, 110
```

If so, the following code will achieve this:

```Private Sub getListsOfNumbers()
Dim inputRange As String
Dim x As Long
Dim y As Long

'Get input range of data
inputRange = InputBox("Enter input range", "Start", "A1:A4")

'Clear output range (two column offset)
Range(inputRange).Offset(0, 2).ClearContents

With Range(inputRange)

'Loop through input range
For x = 1 To .Cells.Count

'Loop through difference between second column and first column
For y = 0 To (.Cells(x, 2) - .Cells(x, 1))

.Cells(x, 3) = .Cells(x, 3) & (.Cells(x, 1) + y) & ", "
Next y

'Tidy up output by removing trailling comma
.Cells(x, 3) = CStr(Left(.Cells(x, 3), Len(.Cells(x, 3)) - 2))
Next x
End With
End Sub
```