This is how I would do this. On your invoice I created control cells in N1, N2 and O1. Then I added formulas all through your invoice to draw in the data you want based the values in N1. O1 updates itself as well.
This way, you can review any invoice you'd like by simply entering a row number in N1. This also means your macro will need minimal editing in the future. If you decide to change your Invoice layout, then you do that on the Invoice formulas, not in the macro.
Two comments, you didn't indicate what the PDF filename should be, so I opted to use the ClientName in C12 along with today's code number.
JohnDoe-42658.pdf
Also, the Invoice Number field was not addressed, so I added it another control in N2. For now it increments each time the macro puts a new row number in N1. I'm not sure this is the best approach, since you might print Invoices for the same client/event several times, we should probably consider keeping the Invoice # the same. For that, I would suggest another column on the Bookings tab called INVOICE NUMBER. You can manually assign an invoice code to each row, or we can have the macro do it... the first time a row is invoiced the macro could detect this field was empty and assign the next number permanently.
After that, this simple macro should do what you want:
Bookmarks