You can place your dictionary in a static variable or private module variable:
Code:
Sub Foo()
Static d As Dictionary
If d Is Nothing Then
Set d = New Dictionary
End If
End Sub
Code:
Private d As Dictionary
Sub Bar()
If d Is Nothing Then
Set d = New Dictionary
End If
'//Code
End Sub
Such variable are lost for a variety of reason - notably, if your vba program crashes or if you hit the reset button, so they aren't 100% reliable for mission critical purposes. If you need to save data between excel sessions its another story - you have to devise some kind of persistent storage strategy (often in Excel this just means writing values to a hidden sheet or something along those lines).
Thanks. All data necessary that requires persistant storage is written to a sheet. This is just for excecution of a series of modules during one session.
We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel
Which adblocker are you using?
Disable AdBlock
Follow these easy steps to disable AdBlock
1)Click on the icon in the browser’s toolbar. 2)Click on the icon in the browser’s toolbar. 2)Click on the "Pause on this site" option.
Go back
Disable AdBlock Plus
Follow these easy steps to disable AdBlock Plus
1)Click on the icon in the browser’s toolbar. 2)Click on the toggle to disable it for "mrexcel.com".
Go back
Disable uBlock Origin
Follow these easy steps to disable uBlock Origin
1)Click on the icon in the browser’s toolbar. 2)Click on the "Power" button. 3)Click on the "Refresh" button.
Go back
Disable uBlock
Follow these easy steps to disable uBlock
1)Click on the icon in the browser’s toolbar. 2)Click on the "Power" button. 3)Click on the "Refresh" button.