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)

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

更新日:1月4日

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

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

 DPAは、Excel VBAで扱う一次元配列・二次元配列を、イミディエイトウィンドウに「表形式」で見やすく表示するための汎用プロシージャです。(VBA 配列 確認 イミディエイト)


 配列の次元を自動判定し、行番号・列番号付きで出力するため、

デバッグ時に配列の中身を一目で把握できます。

表示行数の制限や文字列長の省略にも対応しており、大規模配列でも安全に確認できます。


 ここで説明する配列は一次元配列、二次元配列を指します。

 通常、これらの一次元配列および二次元配列は、デバッグ中にローカルウィンドウで中身を確認できるようになってますが、一次元配列はまだしも二次元配列はローカルウィンドウで、すべての内容を確認するのは大変な作業になってしまいます。

 紹介する汎用プロシージャ「DPA」では、あたかも一次元配列および二次元配列をワークシートのセル上に表示するように、イミディエイトウィンドウで中身の要素を整列して表示および確認ができるようになります。


 イミディエイトウィンドウにで。一次元配列を出て二次元配列を確認できるようになることで、コードのデバッグ中に配列の中身をすぐに確認できるようになり、コーディングの効率化につながります。特に配列処理を基本とするコーディングにおいては必須のテクニックとなってきます。


 ちなみに、汎用プロシージャーの名前のDPAは、DebugPrintArrayの略語です。なぜ略語にしてあるかというと、イミディエイトウィンドウですぐに呼び出しやすくするっていう目的があります。これはプログラミングにおけるエイリアスという考え方に基づいてますが、この他にもよくイミディエイトウィンドウで実行する関数などがある場合は、このように略語で登録してあると非常に便利になります。


<実行例>

 今回は実行例を一次元配列および二次元配列の例で説明します。

 まずは一次元配列の表示のサンプルコードです。

 

 サンプルコードでは要素数が10で中身がランダムな長さの文字列となる一次元配列を生成した後に、DPAを実行しています。

 そしてイミディエイトウィンドウには次のように表示されます。文字列はランダムに生成しているので、出力結果は毎回変わります。

  実行例((一次元配列)
実行例((一次元配列)


 次に二次元配列の場合のサンプルコードです。

 

 実行結果次のようになります。実行結果からわかるように、別の区切り位置がちゃんと揃うように調整しています。

実行例(二次元配列)
実行例(二次元配列)

 また、デバッグ途中で止めた状態でイミディエイトウィンドウで実行することでも配列の中身が確認できるようになります。実際にこのDPAを利用する場面としては、この方がこの方法が多いです。

デバッグ中での実行
デバッグ中での実行


<引数の説明>

 引数は上記のサンプルコードでは第1引数の表示対象の配列「ShowArray」だけでしたが、他に第2,3,4引数に関しても説明しておきます。

・第2引数「StartRow」:配列の表示範囲の開始行

・第3引数「EndRow」:配列の表示範囲の終了行

・第4引数「StrLength」:各要素の表示文字列長さの上限を指定


 中身を確認したい配列の特定の範囲だけを絞って表示したい場合は、この第2,3引数を指定するようにしてください。

 また、配列の中の要素の文字列が非常に長い場合は第4引数を指定して表示する文字列の長さを制限するようにしてみてください。


<関連記事>

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

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


<コード>

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




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

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

Softex-Celware

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

  • Facebook
  • Twitter
  • YouTube

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

bottom of page