LoginSignup
2
2

More than 3 years have passed since last update.

VBAの悩みはVBAerにきけ_地獄絵図編~フローチャート作成VBA-前編~

Last updated at Posted at 2021-01-04

記事の概要

Twitterで見かけた「#VBAの悩みはVBAerに聞け」の応援記事です。
というより、「#VBAの悩みはVBAerに聞け」で色々なVBAerの意見があり、ぜひとも道場破りした……皆の輪に入りたかったので執筆しました。
他のつよつよな方たちがどのようなことを意識してプログラミングされているか触れる機会になってくれればと思います。

記事の構成

1 .前口上
※注意事項
2 .ひっさげてきたVBAの仕様・環境
3 .VBAの解説(ソース解説はここにて)

1.前口上

たのもー!たのもー!某、Mr.bugと申すもの。
Excelの環境はOffice365 64bit
Twitterにおわすもののふ方とお見受けする。
いざ尋常に勝負。

※初心者向け注意事項

注意1.この記述方法はどちらかというと汚い記法に属します。

この記述方法はどちらかというと、プログラミングとしては汚い記法に属します。
個人的な思想に基づく危険な書き方なので、初心者の方はTwitterに出現するつよつよな御仁の記法をマネするほうが整理しやすく上達に向いてるとおもいます。

注意2.このVBA自体、無用の長物です。他のツールの使用を推奨します。

本VBAはフロー図を描くという関係上、一般流通しているPlantUMLの劣化版となります。利点があるとするとカスタマイズができる点とエクセルに出せる点くらいなものです。

ユーザーが多いということはアドバイスしてくれる方も多いということです。フロー図としては2流もいいところなので,フロー図をお求めの方は「回れ右」をお勧めします。

2.ひっさげてきたVBAの仕様・環境

今回、窒素循環の植物の同化~分解者の分解までをフロー図に起こします。
wikipedeia : 窒素循環
https://ja.wikipedia.org/wiki/%E7%AA%92%E7%B4%A0%E5%BE%AA%E7%92%B0

VBA環境(シート)

パラメータシート:
どのようなフローを作成するか、または作成先の作成オブジェクトシートの設定を管理します。
スライド2.PNG
オブジェクトシート:
どのようなオブジェクトを作成するか定義するシート
スライド5.PNG
作成オブジェクトシート:
実際フローを書き記すシート
スライド1.PNG
各種名称管理
名称管理は今回はVBA回ですので、軽く触れるだけとさせていただきます。ですが、VBAがエクセル使って起動する関係上、名称定義をするだけでもだいぶ【ワタシ!イジッテル!!】感がでます。
あと挿入とかにも強くなりますし、エクセルをどうして起動するかという説明もしやすいでしょう。
スライド13.PNG

マクロの実行

実行方法はパラメータシートにある[フロー図の作成]を実行するだけ。
完成したらメッセージボックスが出てきます。
スライド3.PNG

作成オブジェクトシートを確認するとこんな感じになります。
業務フロー.png

マクロの仕様説明終了?

スライド4.PNG
あれ?ご指摘がきました?
確かにこの部分だけ[栄養素]で、他の箇所は[現象]ですね。
しかし、現状登録しているオブジェクトは→と□だけですね。
スライド2.PNG

ならば登録しましょう。
オブジェクトシートに○を挿入して、[オブジェクト名変更]をクリックします。そしてメッセージボックスに○を登録します。
スライド6.PNG
スライド7.PNG
そうすると、オブジェクトの欄が○を選べるようになりましたね。
ここでマクロの説明を終了します。

マクロの仕様説明終了??

スライド8.PNG
あれ、またご指摘ですか?
レイアウトですか?!では現状の作成オブジェクトシートのレイアウトを編集してみます。

……長すぎてプレビューが画像表示できなくなってきたのでいったんここで切ります。

ソースは次の話にて
https://qiita.com/tako_and_kitune/items/e3072cabe6d90ca0d53d

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2