Right here we go.
I think i've done what you asked but if it need changing in anyway just let me know.
I don't know if your familar with macros in excel, i'll write this as if you don't with step by step instructions.
1. Open the developer tab and select Visual Basic (you may need to go into excel options and select Show Developer tab in the Ribbon.)
2. In the left hand side of the visual basic page there will be a folder named Modules, left click this and select Insert and then Module.
3. Copy the text below into the white screen in the new module.
Sub Certificate()
Row = ActiveCell.Row
Sheet2.Range("A1") = Sheet1.Cells(Row, "A").Value
Sheet2.Range("A2") = Sheet1.Cells(Row, "B").Value
Sheet2.Range("A3") = Sheet1.Cells(Row, "C").Value
Sheet2.Range("A4") = Sheet1.Cells(Row, "D").Value
Sheet2.Range("A5") = Sheet1.Cells(Row, "E").Value
Sheet2.PrintOut
End Sub
You can change the Sheet2.Range("A1"), Sheet2.Range("A2"), etc. to the cells in the certificate that you need. i.e. Sheet2.Range("G16")
4. Now go to Sheet1 in the workbook and click the Developer Tab in the ribbon, then Insert, and then the Button under Form controls.
5. Click Where you want the button to be on the worksheet. If you freeze the top row of the worksheet then if the button is there it will always be available. When you place the button it will open a window to select a macro to associate with it select "Certificate" and OK.
All should then be working.
The way it works is whichever row the activecell is in, is the row of data that will be copied over and printed. So if you want to print the certificate on row 21 just select any cell in row 21 and click the button.
While your playing with it you can change the Sheet2.Printout to Sheet2.PrintPreview so you'll just get the print preview page rather than having to keep printing the pages.
Hope this helps. Let me know how it goes.
Rob