Try this:-
Sub MG27Oct23
Dim Lst As Long
Dim n As Long
Dim Rng As Range
Dim Num As Long
Lst = Range("B" & Rows.Count).End(xlUp).Row
For n = Lst To 2 Step -1
With Range("M" & n)
If (Int(.Value / .Offset(, 16))) > 0 And Not .Value = .Offset(, 16).Value Then
Num = .Value Mod .Offset(, 16).Value
.EntireRow.Copy
If Num = 0 Then
Range("A" & n).Resize(Int(.Value / .Offset(, 16)) - 1).Insert
Range("M" & n).Resize(Int(.Value / .Offset(, 16))) = .Offset(, 16).Value
Else
Range("A" & n).Resize(Int(.Value / .Offset(, 16))).Insert
Range("M" & n).Resize(Int(.Value / .Offset(, 16)) + 1) = .Offset(, 16).Value
Range("M" & n) = Num
End If
End If
End With
Next n
End Sub
Regards Mick
Bookmarks