大体でIT
大体でIT
Excel VBAで、「Dictionary」の「参照設定」をする方法について、ご紹介します。ツールから参照設定を選択して、「Microsoft Scripting Runtime」にチェックすると参照設定ができます。ただ、ブックを共有する際に少し不便なので、参照設定が不要で使える「CreateObject」を使う方法が便利です。
この記事では、「Dictionary」の「参照設定」について、ご紹介します。
「Dictionary」の「参照設定」をするには、「Microsoft Scripting Runtime」を設定します。
ただ、「参照設定」をする方法だと、ブックを共有して使う場合に、相手の方でも「参照設定」する必要があるので少し不便です。
「CreateObject」を使えば、「参照設定」をすることなく「Dictionary」を使えますので、便利です。
では、Dictionaryの参照設定について、解説していきます。
「Microsoft Scripting Runtime」にチェックを入れる
「ツール」→「参照設定」
「Microsoft Scripting Runtime」というのがありますので、チェックを入れます。
「Microsoft Scripting Runtime」にチェック
一旦、参照設定の画面を閉じて、チェックがついているか再度確認してみます。
チェックがついているか再度確認
「Dictionary」を使うために、オブジェクトを設定します。
オブジェクトを設定する
Sub TEST1()
'変数を定義する
Dim A As Scripting.Dictionary
'辞書を設定する
Set A = New Scripting.Dictionary
End Sub
これで、「Dictionary」が使えるようになります。
参照設定を使うメリットは、「自動で候補を表示」してくれることです。
自動で候補を表示してくれる
「参照設定」を使う方法で、「Dictionary」を使っていると、ブックを共有する際に不便です。
「参照設定」を外してみる
これで、VBAコードを実行すると、エラーとなってしまいます。
エラーになる
参照設定をして使う方法なので、エラーとなってしまいます。
自動で候補を表示してくれるメリットはあるんですけど、ブックを共有する際に、少し不便です。
CreateObjectを使ってDictionaryを使う
「CreateObject」を使ってDictionaryを使うと、ブックを共有する際に便利です。
CreateObject("Scripting.Dictionary")を使う
CreateObject("Scripting.Dictionary")を変数に入力することで、「Dictionary」を使うことができます。
「CreateObject」を使う
Sub TEST2()
'辞書を設定
Dim A
Set A = CreateObject("Scripting.Dictionary")
End Sub
これで、「Dictionary」を使うことができます。
「CreateObject」のデメリットが、自動で候補が表示されない、ということです。
候補が表示されない
「参照設定」がいらないのでブックの共有が簡単です。
参照設定を外してみる
参照設定なしで実行できる
Sub TEST3()
'辞書を設定
Dim A
Set A = CreateObject("Scripting.Dictionary")
MsgBox "実行しました。"
End Sub
自動で候補はでないんですけど、簡単にブックを共有できるので、「Dictionary」を使いたい場合は、「CreateObject」を使う方法がおすすめです。
この記事では、「Dictionary」の「参照設定」について、ご紹介しました。
「Dictionary」の「参照設定」をするには、「Microsoft Scripting Runtime」を設定します。
ただ、「参照設定」をする方法だと、ブックを共有して使う場合に、相手の方でも「参照設定」する必要があるので少し不便です。
「CreateObject」を使えば、「参照設定」をすることなく「Dictionary」を使えますので、便利です。
参考になればと思います。最後までご覧くださいまして、ありがとうございました。