|First, a posting tip:|
Before posting any more example data and/or code in this forum, please click on the blue line at the end of this post and read the instructions found via that link. Thanks!
As far as your question...
This instruction tells VBA to insert rows based on the value in Column C. Therefore, if the value is 3, it will insert 3 rows.
For newRw = 1 To Cells(rw, "c")
Since you already have an existing row, you actually want to insert 1 row less than the value in Column C. Try this instead:
For newRw = 1 To Cells(rw, "C") - 1
You will note that I also used an upper case C. That won't change the operation of the code in any manner, it's just considered to be "cleaner" since cell references are typically written in upper case. In other words, it's not =sum(a1:b3) it's =SUM(A1:B3).
If you are going to be working with VBA, you might want to review the debugging techniques offered in this How To:
Click Here Before Posting Data or VBA Code ---> How To Post Data or Code.