How do I fix "No usable signing certificates are available" in VBA?

Sorry, I'm not a big expert here, but will still try to add my 5 cents...

First of all, have you tried self-signed certificate? It is easier to debug, will help you test locally. https://social.technet.microsoft.com/Forums/lync/en-US/6b06b276-4266-4f29-ae22-2a3c86c4238f/certificate-for-digital-signature?forum=outlook

Next, are you sure you have imported private key as well with the certificate? Most probably you will need it, as far as I understand the signing mechanism (sorry if I will mislead you; if you are buying the idea of private key, kindly check how to install it there: https://security.stackexchange.com/questions/25996/how-to-import-a-private-key-in-windows - you'll need PFX instead of CER, otherwise no private key is imported).

Last, in which container in your certificate store have you imported your certificate? It might also impact the outcome. https://answers.microsoft.com/en-us/msoffice/forum/all/vba-i-installed-digital-signing-certificate-but/231529b1-8099-4c7b-9bb6-2c36aeba00a4

Steps to get certificate for signing

  1. On the signing computer, open Manage User Certificates
  2. Right click Personal > All Tasks > Request New Certificate
  3. Select Active Directory Enrollment Policy > Next
  4. Choose a Code Signing template and click Enroll

VBA editor should now see the certificate and allow you to sign the script.