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)

GetShapeByNameLike|ワークシート内で指定の文字列で始まるシェイプをすべて取得して一次元配列に格納して返す | Excel VBA

GetShapeByNameLike|ワークシート内で指定の文字列で始まるシェイプをすべて取得して一次元配列に格納して返す | Excel VBA

<概要 ワークシート内で指定の文字列で始まるシェイプをすべて取得して一次元配列に格納して返す

GetShapeByNameLikeは、シート内に配置された図形(シェイプ)を対象に、シェイプ名の先頭文字列を条件として一致するものを一括取得するための汎用プロシージャです。


Excel VBAでは、複数の図形を名前規則で管理するケースが多く、特定の用途で作成した図形群だけをまとめて操作したい場面が頻繁に発生します。

そのような場合に、シェイプ検索を毎回For Eachで個別に記述するのは手間がかかります。


本プロシージャを利用することで、指定した文字列から始まるシェイプを一次元配列として取得でき、後続処理を簡潔かつ安全に記述することが可能になります。


<実行例>

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


実行サンプルを実行すると、まず Stop の位置で一度処理が停止します。

ここまでの処理では、ワークシート上にランダムな位置で円を複数作成しています。



実行サンプルの停止位置
実行サンプルの停止位置

ワークシート上に円を作図
ワークシート上に円を作図

その後、停止を解除して再度実行すると、GetShapeByNameLike を使って「Circle_」で始まるシェイプをすべて取得します。

取得したシェイプは一度配列としてまとめて保持され、その配列を順番に処理することで、各円の書式を一つずつ変更しています。

このサンプルでは、取得した円すべての塗りつぶし色を変更する処理を行っています。


作図された円を全て色を変更
作図された円を全て色を変更

補足(初期化について)

なお、実行サンプルの結果をすべて初期化したい場合は、上部の DeleteShapeNameLike を利用して円を一括削除してください。(詳細は別記事で紹介しています)


<関連コード>

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


<関連記事>

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

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


<コード>


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

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

Softex-Celware

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

  • Facebook
  • Twitter
  • YouTube

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

bottom of page