配列(Dictionary)Dictionary内のアイテム(配列要素)の一部更新はできない【ExcelVBA】 Dictionaryに配列を格納して、入れ子として使用する優位性はこちらの記事で紹介しました。 入れ子の配列の要素を、変更や更新したい場合はどうするのか? 配列を入れなおせば更新が可能ですが、 配列の一部のみの更新はできない事を覚...2022.12.242023.04.23 0配列(Dictionary)
配列(Dictionary)DictionaryのKey/Itemを二次元配列に変換する【ExcelVBA】 Dictionaryに要素を追加(Add)して、データを取得する場合は色々な方法があります。 Dictionaryの結果を2次元配列に格納したい場合があります。 一次元配列の場合は代入するだけでしたが、二次元配列の場合はそのまま、一つず...2022.11.152023.03.27 0配列(Dictionary)
配列(Dictionary)DictionaryのKey/Itemを一次元配列に変換する【ExcelVBA】 Dictionaryに要素を追加(Add)して、データを取得する場合は色々な方法があります。 Dictionaryの結果を1次元配列に格納したい場合があります。 ※私はDictonaryで重複データの削除後、並び替えする為に使用していま...2022.11.142023.03.27 0配列(Dictionary)
配列(Dictionary)Dictionaryで「ユーザー定義型は定義されていません」が表示される【ExcelVBA】 Dictionary利用時、コンパイルエラー「ユーザー定義型は定義されていません」が表示される場合があります。 それは単純に参照設定をしていない為です。 Webからコードをコピペしたが、VBE参照設定できていない為、エラー発生してい...2022.01.27 0配列(Dictionary)
配列(Dictionary)Dictionary内のアイテム(配列要素)を更新する【ExcelVBA】 Dictionaryに配列を格納して、入れ子として使用する優位性はこちらの記事で紹介しました。 入れ子の配列の要素を、変更や更新したい場合はどうしたらよいでしょうか? 配列を入れなおす必要性があります。 Dictionary内のア...2022.01.262023.04.23 0配列(Dictionary)
配列(Dictionary)DictionaryにAddしていなくてもItemが追加される【ExcelVBA】 DictionaryにAddしていないのに、Itemが追加される 最近、VBA開発でハマったケースです。 VBAでDictionaryを使用した際、Addしていないのにitemが追加されている挙動が出ました。 存在しないキーに対して値...2021.11.132021.12.23 0配列(Dictionary)
配列(Dictionary)Dictionaryで「451:Property Letプロシージャが定義されておらず、Property Getプロシージャからオブジェクトが返されませんでした」の回避方法 451:Property Letプロシージャが定義されておらず、Property Getプロシージャからオブジェクトが返されませんでした CreateObject("Scripting.Dictionary")でDictionaryを実行...2021.08.242021.12.23 0配列(Dictionary)
配列(Dictionary)ユーザー定義型変数はDictionaryに代入不可【ExcelVBA】 ユーザー定義型変数(構造体)はDicitonaryに代入が出来ない ユーザー定義型変数(構造体)をDictionaryやCollectionに格納しようとすると 以下コンパイルエラーが発生します。 ユーザー定義型変数はDict...2021.08.172021.12.23 0配列(Dictionary)
配列(Dictionary)指定したセル範囲を配列としてDictionaryに格納する【ExcelVBA】 指定セル範囲をDictionaryのItemを合計したい 配列の場合、気にせずセル範囲を格納できますが、 Dictionaryの場合は重複チェックをしないといけない為、少し手順を考えないといけません。 ■やりたいこと ・特定セル...2021.06.282021.12.23 0配列(Dictionary)
配列(Dictionary)指定したセル範囲をDictionaryに格納する(Itemを合計する)【ExcelVBA】 指定セル範囲をDictionaryのItemを合計したい 配列の場合、気にせずセル範囲を格納できますが、 Dictionaryの場合は重複チェックをしないといけない為、少し手順を考えないといけません。 ■やりたいこと ・特定セル...2021.06.272021.12.23 0配列(Dictionary)
配列(Dictionary)指定したセル範囲をDictionaryに格納する(KeyとItemを作成)【ExcelVBA】 指定セル範囲をDictionaryのKeyとItemを作成したい 配列の場合、気にせずセル範囲を格納できますが、 Dictionaryの場合は重複チェックをしないといけない為、少し手順を考えないといけません。 ■やりたいこと ・...2021.06.262023.09.05 0配列(Dictionary)
配列(Dictionary)指定したセル範囲をDictionaryに格納する(重複削除する)【ExcelVBA】 指定セル範囲をDictionaryに格納して重複削除したい 配列の場合、気にせずセル範囲を格納できますが、 Dictionaryの場合は重複チェックをしないといけない為、少し手順を考えないといけません。 ■やりたいこと ・特定セ...2021.06.252021.12.23 0配列(Dictionary)
配列(Dictionary)Dictionary(連想配列)のまとめ(逆引き目次) Dictionaryは理解すればVBAの速度改善やコードの可読性が上がります。 Dictionaryは文字通り辞書(連想配列)の事で、他言語では「ハッシュ」と呼ばれたりします。 Dictionaryを使用する前の準備 メソ...2021.05.192023.04.23 0配列(Dictionary)
配列(Dictionary)Dictionaryのキーの大文字小文字の区別をしない【CompareModeプロパティ】【ExcelVBA】 構文 object.CompareMode CompareModeプロパティは、Dictionary でキーの大文字小文字の区別をする/しないを選択します。 定数 値 説明 vbUseCompareOpti...2021.04.282021.12.23 0配列(Dictionary)
配列(Dictionary)Dictionaryの要素(キー、アイテム)を配列に渡す【Keysメソッド/Itemsメソッド】【ExcelVBA】 Dictionaryに格納したデータを取り出して使用したい場合があります。 Dictionaryのキー/アイテム(要素)を取得する【ExcelVBA】ではセルに出力したりするイメージでしたが、 Dicttionaryのデータを配列として...2021.04.252021.12.23 0配列(Dictionary)
配列(Dictionary)Dictionaryに配列を格納する【ExcelVBA】 Dictionaryは連想配列です。キーとアイテムを1対1で使っていませんか? Dictionaryに配列を入れ子で格納する事で、効率上がります。 (例) ログデータから商品コードに紐づけて配列(売上個数、売上金額)を管理し売上一覧を...2021.04.242022.01.19 0配列(Dictionary)
配列(Dictionary)Dictionaryのキー/アイテム(要素)を取得する【ExcelVBA】 Dictionaryに要素を追加(Add)して、データを取得する場合は色々な方法があります。 そもそもDictionaryは配列ですので、配列と考えるとわかりやすいかもしれません。 Dictionaryのキー/アイテムを取得するサンプル...2021.04.232021.12.23 0配列(Dictionary)
配列(Dictionary)Dictionaryのアイテム(要素)を変更・更新する【ExcelVBA】 Dictionaryを使用して重複のないユニークなリスト作成以外にも、データ集計としても使用する事が可能です。 その場合、itemの要素を更新する必要があります。 (例) ・仕入先単位で在庫数や在庫金額を計算したい。 ・商品分類単位で...2021.04.222023.09.11 0配列(Dictionary)
配列(Dictionary)Dictionaryのキー(要素)を全て削除する【RemoveAllメソッド】【ExcelVBA】 構文 object.RemoveAll RemoveAllメソッドは、Dictionary オブジェクトのキー(要素)を全て削除します。 特定要素のみ削除したい場合はRemoveメソッドを使用してください。 Dictionaryの...2021.04.212021.12.23 0配列(Dictionary)
配列(Dictionary)Dictionaryのキー(要素)を削除する【Removeメソッド】【ExcelVBA】 構文 object(Key).Remove Key・・・・Dictionaryでオブジェクト内で削除したいキーを指定します。【必須】 Removeメソッドは、Dictionary オブジェクトのキー(要素)を削除します。通常の配列...2021.04.202021.12.23 0配列(Dictionary)