top of page

​タグ一覧

配列処理(76)

シート・セル操作(34)

階層化フォーム(33)

ファイル操作(31)

開発事例(26)

図形操作(24)

設計思想(14)

講座実施報告(12)

開発効率化(10)

ユーザーフォーム(10)

コード自動生成(10)

ココナラ(9)

数学(9)

文字列操作(8)

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

GAS(7)

Webアプリ(6)

副業(5)

アニメーション(5)

技術解説(4)

その他(5)

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

OneDrive(4)

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

クリップボード(4)

条件付き書式(4)

介護・福祉(4)

小説(3)

HTML(3)

JavaScript(3)

公開ツール(3)

Enum(2)

PDF(2)

フリーランス(2)

リスキリング(2)

Outlook(2)

Discord(2)

シフト表(2)

LookerStudio(2)

日報(2)

カレンダー(2)

パズル(2)

小ネタ(2)

コード解説(2)

クラスモジュール(2)

Antigravity(2)

デスクトップアプリ(2)

スクレイピング(1)

スプレッドシート(1)

QRコード(1)

実行予約(1)

給与計算(1)

VBA不使用(1)

超勉強会(1)

溶接ロボット(1)

楽天市場(1)

経理(1)

医療(1)

文書作成(1)

発注書(1)

WebAPI(1)

学校(1)

CAD(1)

PowerShell(1)

python(1)

二次元配列をフィルター処理する(Excel VBA)

2025年1月9日
読了時間: 2分

更新日:2025年12月19日

二次元配列をフィルター処理する

<概要 (二次元配列をフィルター)>

 今回は二次元配列をフィルター処理する汎用プロシージャの紹介です。

 

 VBAではWorksheetFunction.Filter関数が利用できますが、この標準関数は非常に使い勝手が悪いので私は自作の汎用プロシージャを使用しています。


 紹介する汎用プロシージャ「FilterArray2D」では与える引数は4つで、1つ目に処理対象の二次元配列「Array2D」で2つ目にフィルターする条件の値「Filter_」で3つ目にフィルターする対象の列番号「Col」と最後の4つ目にフィルターの条件「Condition」を与えるだけとなっています。

 

 また、4つ目の引数のフィルターの条件「Condition」においては、Enum(列挙体)を利用しているので、下の画像のように一覧から条件を選択することができるようになってます。

FilterArray2Dの使用例

<実行例>

 実行例のサンプルコードは次の通りです

 上記コードで配列の中身の確認には以前に紹介したDeleteRowArray2D、DPAを利用しています。

 シート上にはダミーのデータが次のように入っています。

実行サンプルの実行結果

 

ダミーデータ次のCSVファイルを使っています。 データは個人情報テストデータジェネレーターで作成しました。https://testdata.userlocal.jp/

 実行結果「イミディエイトウィンドウ」は次のようになります。

 すべて目的の処理どうりに二次元配列がフィルターされているのがわかります。

イミディエイトウィンドウの実行結果

<関連コード>

 今回の汎用プロシージャは、下記の別で紹介している汎用プロシージャを使用しています。


<関連記事>

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

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


<コード>


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

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

softex-celwareロゴ 透過 横長.png

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

  • Facebook
  • Twitter
  • YouTube

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

bottom of page