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)

DrawPolyLineAddPolyLine|Worksheet.Shapes.AddPolylineメソッドを使ってワークシート上にポリラインを作図する | Excel VBA

DrawPolyLineAddPolyLine|Worksheet.Shapes.AddPolylineメソッドを使ってワークシート上にポリラインを作図する | Excel VBA

<概要 Worksheet.Shapes.AddPolylineメソッドを使ってワークシート上にポリラインを作図

DrawPolyLineAddPolyLineは、Worksheet.Shapes.AddPolylineメソッドを利用して、

XY座標の二次元配列からポリラインを作図するための汎用プロシージャです。


ポリライン作図VBAとして、セル値や計算結果で得られた座標配列をそのまま渡すだけで、

Excelシート上に連続した線分(ポリライン)を簡潔に描画できます。


AddPolylineメソッドではSingle型配列が必須となるため、

内部で座標配列をSingle型へ変換する補助処理も含めています。


<実行例>

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

実行サンプルを実行すると、下図のような図形がワークシート上に描画されます。このサンプルでは、正20角形をベースにしつつ、頂点間の接続順を工夫することで、通常の多角形とは異なる、放射状に線が交差するポリラインを作図しています。


ポリラインの作図自体は、単に「座標の配列を順番に結んでいるだけ」ですが、角度の進め方や座標配列の並びを変更するだけで、このように複雑で特徴的な図形を柔軟に表現できる点が、本プロシージャの大きな特長です。


このサンプルを応用すれば、多角形、星形、多重線、幾何学模様など、計算によって生成した任意の座標データを、そのまま図形として可視化できます。「座標配列を作る処理」と「作図処理」を明確に分離できる点も、本汎用プロシージャを利用するメリットの一つです。

 

実行サンプルの実行結果
実行サンプルの実行結果

ちなみに、Excelのグラフ機能(散布図)を利用すれば、任意のXY座標データを一覧にして、ポリラインを含むさまざまな図形を表現することも可能です。


ただし、グラフを用いた場合は、縦軸・横軸の比率を1対1に固定する必要があったり、表示範囲の調整が都度必要になったりと、細かな調整に手間がかかる場面も少なくありません。


一方で、今回のようにシェイプとして直接図形を作図する方法では、座標系や縮尺をあまり意識せずに、計算結果をそのまま「図形」として扱える点が大きなメリットになります。


用途や目的に応じて、グラフによる可視化と、図形による作図を使い分けることで、より柔軟な表現やツール作成が可能になりますので、このような方法もぜひ参考にしてみてください。


<関連記事>

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

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


<コード>


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

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

Softex-Celware

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

  • Facebook
  • Twitter
  • YouTube

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

bottom of page