How do you add a digital certificate signature box in Excel?

blacklark used Ask the Experts™
I am trying to add a digital signature box to an Excel spreadsheet. The desired effect is to have a box that, when clicked, will prompt the user to choose a digital certificate to sign the document and will display said certificate, with signature date, in the box. Essentially provide the same functionality and convenience as the digital signature box in Adobe Acrobat.

What would I have to do to make this happen?
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®

follow the steps
Click Start and then click All Programs> Microsoft Office> Microsoft Office Tools> Digital Certificate for VBA Projects.
The Create Digital Certificate dialog box appears.
Type the name you want to give your certificate.
click OK. Excel creates a Personal Digital Certificate.

And useful links to U-


This is for Office Excel 2010:

Open the Playground (or whatever it's name is) Click INFO-> and then click the small down arrow in the PERMISSIONS box.

Select "ADD a Digital Signature".

Depending on if you have a digital signature that is local, or provided for you by verisign etc. you can proceed, Click OK and select your signature from the list of available ones.

Note MS provides you with a selection of Signature Providers if it is to leave the company and you want it to be verifiable...



I don't think anyone really understands what I'm trying to do.

-I want to program a box on a form created in Excel.

-Users filling out this form will click on the box and be prompted for a certificate.

-The certificate they use will be pregenerated and already on a smart card.

-After choosing the appropriate certificate the info for said cert, including user name and date/time signed, will be displayed in the box.

-This form can then be forwarded to a different user who will sign in a different, identically programmed box.

I am not trying to simply sign the entire document or add a signature to a macro for security purposes. This will serve as a non-repudiation and approval tool.
Right got it, add the following code to your base spread sheet template and save as xlsm.

Change the i count to however many signatures you need, execute and save again…

The signatures will be added and visible you just need to click and move them around…

Save the template again and then save as xlsx, this is the one the users will see.

Close excel and open the xlsx again…now you will be asked to fill in signatures – if not just double click on the signature box and it will ask for your certificate etc…


Sub addSig()
    For i = 1 To 3 Step 1
        Set sig = ActiveWorkbook.Signatures.AddSignatureLine
    Next i
End Sub

Open in new window


Note: This only works on machines that allow execution of macros.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial