Your procedure needs a loop, but I'm still not clear on what your spreadsheet looks like. Is it pasting over data in B10:B30? Your procedure uses column B to identify the last row, so if it was supposed to find row 30 to be the last row, that would mean there was already data down through B30 that your procedure is meant to paste over. That doesn't sound like what you're aiming for. Can you post a sample workbook or try to paint a better picture of the 'before' and intended 'after'?