Variáveis globais de ligação tardia?

Estou usando o VBA para Excel. Pelo meu entendimento, variáveis globais precisam ser declaradas fora de qualquer subs. Essa é a única maneira que eles podem ser acessados por todos os subs.

Enquanto isso, quero fazer ligação tardia para fazer referência à biblioteca "Microsoft Scripting Runtime" (para usar o tipo de objeto de dicionário) para que um usuário final não precise fazer isso sozinho.

Meu código é como abaixo:

On Error Resume Next
strGUID = "{420B2830-E718-11CF-893D-00A0C9054228}"
ThisWorkbook.VBProject.References.AddFromGuid GUID:=strGUID, Major:=1, Minor:=0

Dim Dic1 As Object
Set Dic1 = CreateObject("Scripting.Dictionary")
Dim Dic2 As Object
Set Dic2 = CreateObject("Scripting.Dictionary")

E se eu quiser declarar um objeto de dicionário global com ligação tardia? Parece que o VBA não permitirá que eu coloque nenhum código fora dos subs (exceto as declarações).

Como posso declarar um objeto de dicionário global sem precisar ele próprio de referência da biblioteca de configuração do usuário final? Devo vestir o seguinte?

Dim Dic1 As Object
Dim Dic2 As Object

Sub Prog1()
    On Error Resume Next
    strGUID = "{420B2830-E718-11CF-893D-00A0C9054228}"
    ThisWorkbook.VBProject.References.AddFromGuid GUID:=strGUID, Major:=1, Minor:=0

    Set Dic1 = CreateObject("Scripting.Dictionary")
    Set Dic2 = CreateObject("Scripting.Dictionary")
End Sub

questionAnswers(2)

yourAnswerToTheQuestion