グローバル変数がスコープから外れる問題があります。私は「はThisWorkbook」でパブリック変数を定義していますVBA - グローバル変数がスコープから外れる
Public dict As Scripting.Dictionary
これは中initalizedます「のWorkbook_Open()」
Set dict = New Scripting.Dictionary
を初期化した後、私はサブを実行します(コードはまだ「はThisWorkbook」にあります)ということこの辞書にIDとカスタムクラスのインスタンスを埋め込みます。
他のモジュールでもこのdict変数の操作に問題があります。目標は、ワークシートが呼び出すことができる多数のパブリック関数を構築することです。これらの関数は、辞書内のカスタムクラスのデータを操作/取得/ etcします。例えば
は、このテストサブ(ModuleXYZのコードは)これは、ときに私が最初にこのコーディングプロジェクトを始めたとき、私はなるだろうと同じエラーです
Private Sub TestSub()
Dim x As Integer
x = ThisWorkbook.dict.Count
End Sub
「変数またはWithブロック変数が設定されていないオブジェクト」スロー"ThisWorkbook"モジュールのPublic変数としてdictを設定することで、私の望みは、 "ThisWorkbook"モジュール内のPublic変数としてdictを設定することでした。このワークブックが公開されていた時間の全体にわたってスコープ内に留まることになりました。
ありがとう - KC
それは限り、あなたはプロジェクトをリセットするために何かをしていないとして残るべき(同じことがすべての真実でありますパブリック変数)。 – Rory