top of page

​タグ一覧

配列処理(73)

階層化フォーム(33)

ファイル操作(28)

開発事例(22)

シート・セル操作(18)

図形操作(13)

コード自動生成(10)

ユーザーフォーム(9)

文字列操作(8)

設計思想(7)

開発効率化(6)

数学(6)

GAS(5)

アニメーション(5)

技術解説(4)

講座実施報告(5)

イミディエイトウィンドウ(4)

Googleスプレッドシート(4)

副業(4)

クリップボード(4)

条件付き書式(4)

その他(4)

ココナラ(3)

小説(3)

HTML(3)

JavaScript(3)

OneDrive(2)

イベントプロシージャ(2)

Enum(2)

PDF(2)

フリーランス(2)

リスキリング(2)

Outlook(2)

介護(2)

Discord(2)

シフト表(2)

LookerStudio(2)

日報(2)

カレンダー(2)

罫線(2)

パズル(2)

小ネタ(2)

コード解説(2)

クラスモジュール(2)

ステータスバー(1)

コード解析(1)

バックアップ(1)

可変長引数配列(1)

ブック処理(1)

スクレイピング(1)

スプレッドシート(1)

coconala(1)

リボン登録マクロ(1)

QRコード(1)

実行予約(1)

給与計算(1)

VBA不使用(1)

リボン(1)

超勉強会(1)

スピログラフ(1)

図名描写(1)

連想配列(1)

溶接ロボット(1)

保育士(1)

楽天市場(1)

経理(1)

医療(1)

文書作成(1)

発注書(1)

ショートカット(1)

WebAPI(1)

色操作(1)

スーパー開発ショートカット(1)

ライブラリ処理(1)

放課後等デイサービス(1)

児童福祉支援(1)

学校(1)

UI(1)

CAD(1)

カーソル操作(1)

DPD|連想配列(Dictionary型)をイミディエイトウィンドウに整形表示(連想配列確認) | Excel VBA

更新日:1月4日

DPD|連想配列(Dictionary型)をイミディエイトウィンドウに整形表示(連想配列確認) | Excel VBA

<概要 (VBA 連想配列 確認 イミディエイト Dictionary)

DPDは、Excel VBAで頻繁に利用されるDictionary型(連想配列)の内容を、

イミディエイトウィンドウに見やすい2列表形式で出力するための汎用プロシージャです。(VBA 連想配列 確認 イミディエイト Dictionary)


 前回の記事で紹介した配列の中身を見やすくイミディエイトウィンドウに表示する汎用プロシージャ「DPA」と似たような汎用プロシージャになります。DPAと異なるのは、今回は表示する対象を連想配列(Dictionary型)としているところです。


 Excel VBAで扱える連想配列のDictionary型の大きな欠点として、デバッグ中にローカルウィンドウではItemは中身が確認できても、Keyは中身が確認できない点です。これではデバッグ中にその連想配列の中身の全容が確認できないので不便となっています。


 紹介する汎用プロシージャーの名前はDPD「DebugPrintDictionaryの略」と名付けていますが、こちらはDPAと同様にイミディエイトウィンドウで実行することで、連想配列の中身を見やすく表示するようになっています。

 

 技術的な話を少ししておくと、連想配列のDictionary型は、その中身のKeyおよびItemはKeysプロパティおよびItemsプロパティで中身を配列として取得することができます。汎用プロシージャDPDではこの処理を利用して、 KeyおよびItemの中身を取得し、最後にDPAを利用してイミディエイトウィンドウに表示するようにしています。


<実行例>

 実行例のサンプルコードは下記の通りとなっています。


 実行にあたっては、参照設定において「Microsoft Scripting Runtime」ライブラリを参照するようにしてください。

「Microsoft Scripting Runtime」ライブラリを参照
「Microsoft Scripting Runtime」ライブラリを参照

 実行すると、イミディエイトウィンドウに次のように連想配列の中身が表示されます。

イミディエイトウィンドウの表示結果
イミディエイトウィンドウの表示結果

 サンプルコードでは、コードの途中でDPDを実行して、連想配列の中身を表示していますが、実際に使用する上ではデバッグで止まった状態でイミディエイトウィンドウで次のようにDPDを実行して連想配列の中身を確認するのが多いです。

デバッグ中にミディエイトウィンドウで実行
デバッグ中にミディエイトウィンドウで実行

<関連記事>

今回紹介しているような汎用プロシージャを部品として一元管理する方法は別記事で紹介していますので、是非このノウハウも参考にしてみてください。

コーディングを効率化する上でどんどん増やしていった汎用プロシージャ(部品)をいくら増やしても簡単に流用ができるような仕組みの構築が可能になります。


<コード>

 実際のコードは非常に長いものになるのでコピーして使用するのは大変と思います。ですので、標準モジュールとしてのインポート用のファイルも下に用意してますのでこちらをダウンロードおよび解凍してVBEにインポートしてみてください。インポートはクリック&ドラッグでも可能です。

 


Excel VBAによる業務自動化・ツール開発をご検討の方へ

​"脱Excel"の前に、現状のExcelの潜在能力を120%発揮してみませんか?

Softex-Celware

​インボイス登録番号:T5810983887134

  • Facebook
  • Twitter
  • YouTube

©2023 softex-celware。Wix.com で作成されました。

bottom of page