大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAで、「Dictionary」の「参照設定」をする方法について、ご紹介します。ツールから参照設定を選択して、「Microsoft Scripting Runtime」にチェックすると参照設定ができます。ただ、ブックを共有する際に少し不便なので、参照設定が不要で使える「CreateObject」を使う方法が便利です。

はじめに

この記事では、「Dictionary」の「参照設定」について、ご紹介します。

「Dictionary」の「参照設定」をするには、「Microsoft Scripting Runtime」を設定します。

ただ、「参照設定」をする方法だと、ブックを共有して使う場合に、相手の方でも「参照設定」する必要があるので少し不便です。

「CreateObject」を使えば、「参照設定」をすることなく「Dictionary」を使えますので、便利です。

では、Dictionaryの参照設定について、解説していきます。

この記事で紹介すること

  • Dictionaryを参照設定する方法

目次から見たい項目へ移動すると便利ですよ。

目次

Dictionaryの参照設定をする

Dictionaryの「参照設定」をしてみます。

「Microsoft Scripting Runtime」にチェックを入れる

「ツール」→「参照設定」を選択します。

「ツール」→「参照設定」

「ツール」→「参照設定」

「Microsoft Scripting Runtime」というのがありますので、チェックを入れます。

「Microsoft Scripting Runtime」にチェック

「Microsoft Scripting Runtime」にチェック

一旦、参照設定の画面を閉じて、チェックがついているか再度確認してみます。

チェックがついているか再度確認

チェックがついているか再度確認

チェックがついていれば、参照設定が完了です。

オブジェクトを設定する

「Dictionary」を使うために、オブジェクトを設定します。

VBAコードは、こんな感じです。

オブジェクトを設定する

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」を使うことができます。

VBAコードは、こんな感じです。

「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」を使えますので、便利です。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

アーカイブから探す