, , , , ; .
Dim mOut As Worksheet
Dim mInp As Worksheet
Dim num As Integer
Dim i As Integer
Dim j As Integer
Dim c As Integer
Sub Copy()
Set mInp = Worksheets("Your Sheet Name")
Set mOut = Worksheets("Create Another Sheet for Output")
mOut.Cells(1, 1) = mInp.Cells(1, 1)
mOut.Cells(1, 2) = mInp.Cells(1, 2)
mOut.Cells(1, 3) = mInp.Cells(1, 3)
mOut.Cells(1, 4) = "Req"
i = 2
num = 2
While mInp.Cells(i, 1) <> ""
c = mInp.Cells(i, 3)
For j = 1 To c
mOut.Cells(num, 1) = mInp.Cells(i, 1)
mOut.Cells(num, 2) = mInp.Cells(i, 2)
mOut.Cells(num, 3) = mInp.Cells(i, 3)
mOut.Cells(num, 4) = mInp.Cells(i, j + 3)
num = num + 1
Next j
i = i + 1
Wend
End Sub
, , , . , . , , , , .
For i = 2 To NumRows 'Number of rows (Sum of the inserted and original rows)
If mInp.Cells(i, 1) <> "" Then
irow = i
Count = 1
Else
mInp.Cells(i, 1) = mInp.Cells(irow, 1)
mInp.Cells(i, 2) = mInp.Cells(irow, 2)
mInp.Cells(i, 3) = mInp.Cells(irow, 3)
mInp.Cells(i, 4) = mInp.Cells(irow, 4 + Count)
Count = Count + 1
End If
Next i