Try this after renaming the referenced worksheet.
Sub expandMonths()
'https://stackoverflow.com/questions/52304181
Dim i As Long, j As Long, m As Long, a As Variant
With Worksheets("sheet1")
i = .Cells(.Rows.Count, "A").End(xlUp).Row
Do While i > 1
a = Array(.Cells(i, "A").Value2, .Cells(i, "B").Value2, 0, 0, 0, 0)
m = .Cells(i, "C").Value2
j = Application.Match(.Cells(i, "A").Value2, .Columns("A"), 0)
If i - j < m Then
.Rows(j).Resize(m - (i - j) - 1, 1).EntireRow.Insert
.Cells(j, "A").Resize(m - (i - j) - 1, UBound(a) + 1) = a
.Cells(j, "C").Resize(m - (i - j) - 1, 4).NumberFormat = "0"
End If
i = j - 1
Loop
End With
End Sub
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…