ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

連想配列(Dictionary オブジェクト)

      2017/10/23

連想配列

連想配列とは、添字(キー)に文字列を使用することができる配列です。
VBA で、連想配列を使用するには、CreateObject 関数の引数に「Scripting.Dictionary」を指定するか、参照設定「Microsoft Scripting Runtime」を設定します。
(※ コレクション(Collection)オブジェクト を簡単な連想配列として使用することも出来ます。)


Dictionary オブジェクト


【書式】

<CreateObject 関数を使用する場合>
Dim myDic As Object
Set myDic = CreateObject(“Scripting.Dictionary”)

<参照設定を行う場合>
Dim myDic As Dictionary
Set myDic = New Dictionary


引数・戻り値

  • myDic  ・・・  Dictionary オブジェクト


Add メソッド

連想配列に新規の「キー」と「値」のセットを追加します。


【書式】

object.Add key, item


引数・戻り値

  • object  ・・・  対象となる Dictionary オブジェクトを指定します。
  • key  ・・・  追加する「キー」となる文字列を指定します。
  • item  ・・・  追加する「値」を指定します。


Exists メソッド

指定した「キー」が、連想配列に存在するかどうかを確認します。


【書式】

<取得>
bool = object.Exists key


引数・戻り値

  • object  ・・・  対象となる Dictionary オブジェクトを指定します。
  • key  ・・・  検索する「キー」を指定します。連想配列に存在する場合は、True 、存在しない場合は、False を返します。


Items メソッド

連想配列のすべての「値」を取得します。


【書式】

<取得>
array = object.Items


引数・戻り値

  • object  ・・・  対象となる Dictionary オブジェクトを指定します。
  • array  ・・・  連想配列の「値」のみを配列として取得したもの
    (例)連想配列 orgArray
    orgArray(“first”) = 100、orgArray(“second”) = 150、orgArray(“third”) = 200 の場合、
    array(0) = 100、array(1) = 150、array(3) = 200


Keys メソッド

連想配列のすべての「キー」を取得します。


【書式】

<取得>
array = object.Keys


引数・戻り値

  • object  ・・・  対象となる Dictionary オブジェクトを指定します。
  • array  ・・・  連想配列の「キー」のみを配列として取得したもの
    (例)連想配列 orgArray
    orgArray(“first”) = 100、orgArray(“second”) = 150、orgArray(“third”) = 200 の場合、
    array(0) = “first”、array(1) = “second”、array(3) = “third”


Remove メソッド

連想配列の「キー」と「値」のセットを削除します。


【書式】

object.Remove key


引数・戻り値

  • object  ・・・  対象となる Dictionary オブジェクトを指定します。
  • key  ・・・  削除する「キー」を指定します。「キー」が見つからなかった場合はエラーが発生します。


RemoveAll メソッド

連想配列のすべての「キー」と「値」を削除します。


【書式】

object.RemoveAll


引数・戻り値

  • object  ・・・  対象となる Dictionary オブジェクトを指定します。


Count プロパティ

連想配列の項目数を取得します。


【書式】

<取得>
object.Count


引数・戻り値

  • object  ・・・  対象となる Dictionary オブジェクトを指定します。


Item プロパティ

連想配列で、「キー」に関連付けられた「値」を取得します。または、連想配列に新規の「キー」と「値」のセットを追加します。


【書式】

<取得>
value = object[ .Item ](key)

<設定>
object[ .Item ](key) = newitem


引数・戻り値

  • object  ・・・  対象となる Dictionary オブジェクトを指定します。
  • key  ・・・  取得または設定する項目に関連付けられている「キー」を指定します。
  • newitem  ・・・  「キー」(key)に関連付ける「値」を指定します。


Key プロパティ

指定した「キー」を新しい「キー」に置き換えます。


【書式】

<設定>
object.Key(key) = newkey


引数・戻り値

  • object  ・・・  対象となる Dictionary オブジェクトを指定します。
  • key  ・・・  変更する「キー」を指定します。
  • newkey  ・・・  key で指定した「キー」と置き換える新規の「キー」を指定します。



VBA で、連想配列を使用する例

サンプルVBAソース1


実行結果

Dictionary オブジェクト 使用例1



サンプルVBAソース2


実行結果

Dictionary オブジェクト 使用例2



 - VBA基本 , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

フォント名(Name,ThemeFont,StandardFont) 例
フォント名(Name,ThemeFont,StandardFont)

フォント名を取得・設定する(Name プロパティ) Name プロパティは、オブ …

IgnoreCase プロパティ
VBA で正規表現を使う(RegExp オブジェクトのプロパティ)

RegExp オブジェクトのプロパティ RegExp オブジェクトの詳細に関して …

引数の整数部分を取得する(Fix 関数・Int 関数)

Fix 関数・Int 関数の使い方 【書式】 number_fix = Fix …

日付時刻:日付時刻から情報取得( DatePart 関数 )

DatePart 関数(日付・時刻の値から情報を取得) 【書式】 result …

Mid ステートメント 例
文字列:文字列変数内の一部を置き換える(Mid・MidB ステートメント)

Mid・MidB ステートメントの使い方 【書式】 { Mid | MidB } …

変数がEmpty 値かどうかをチェックする( IsEmpty 関数 )

IsEmpty 関数の使い方 【書式】 result = IsEmpty ( e …

Option Compare Text 例
Option Compare ステートメント

Option Compare ステートメントの使い方 【書式】 Option C …

Weekday 関数・WeekdayName 関数 使用例
日付時刻:日付から曜日を取得( Weekday 関数、WeekdayName 関数 )

Weekday 関数(日付から曜日を表す数値を返す)の使い方 【書式】 week …

フォントサイズ(Size,StandardFontSize)例
フォントサイズ(Size プロパティ・StandardFontSize プロパティ)

フォントサイズを取得・設定する(Size プロパティ) Size プロパティは、 …

QBColor 関数 使用例
色を設定する(QBColor 関数)

QBColor 関数 QBColor 関数は、指定した色番号に対応するRGB コ …