Sub OneCol()
Dim LR As Long: LR = Range("A" & Rows.Count).End(xlUp).Row
Dim LR1 As Long
Dim i As Long
For i = 1 To LR
If Range("B" & i).Value > 1 Then
LR1 = Range("A" & Rows.Count).End(xlUp).Offset(1).Row
Range("A" & i).Copy _
Range("A" & LR1).Resize(Range("B" & i).Value - 1)
End If
Next i
Columns(2).Delete
Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).Sort _
Key1:=Range("$A$1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
End Sub