ExcelVBA「え?ネスト?なんそれ?」クソコードを修正せよ

Excel VBA ネスト クソコード

 

アメビン
アメビン
  1. ExcelVBAの条件分岐を重ねたら階層が深くなってしまった
  2. 深くなった条件分岐の階層をどうにかしたい
  3. 条件分岐をシートで管理する事は出来ないのかな?

 

 

こんな悩みを解決します。

最後まで読んで頂き、実践して、ここへ来なくなった頃には、

あなたはスキルアップしている事でしょう。

 

さて、この記事の題目は

ExcelVBA「え?ネスト?なんそれ?」クソコードを修正せよ

 

アメビン
アメビン

このサイトを運営している私は、

製造業での設計歴20年以上のエンジニアです。

Excelを使って業務効率化もしています。

 

記事にするまでの経緯

 

前編-1限目:「セル選択イベント」を使ってみたら

 

以下は、特定のセルを選択した際に自動的に処理を実行するコードです

「セル選択イベント」と呼ばれるそうですが、例えば

B2セルを選択した際に、OKとメッセージBOXを表示させたい場合

Excel VBA SelectionChange

標準モジュールではなく「シートモジュール」に記述しておく事で

Excel VBA SelectionChange

B2セルを選択した際に、OKとメッセージBOXを表示する事ができます

ボタンを押す行為が無くなる事で、より動的な操作を可能にします

 

「おお!これで動くのか、できそうだφ(..)メモメモ」

私は仕事用のExcelツールに、これを組み込みたいと思い

サンプルを作成して、動作の確認も出来たので実装をました

 

「ああ・・・実装したいセルがいくつもあるから条件分岐を増やさないと」

Excel VBA ネスト クソコード

「おお、動いた!・・・って凄い形態になったな・・・」

と、暫くそのままにしていました

 

前編-2限目:それ「ネスト」と言います

 

忘れたころに、コードを改修していたら発見して

なんだか面白いから、2022年1月25日にTwitterで投稿

Excel VBA ネスト クソコード

意外と沢山の方から反応があり、驚きました

様々なアドバイスやご意見、大変ありがたく存じます

 

又、こんな表示が

Excel VBA ネスト クソコード

初めてだったので焦りましたが、問題ありませんでした

 

今回は「ネスト」という「入れ子」が何階層にもなる事が注目された様です

これは、条件分岐の先にまた条件分岐が何階層も存在する

マトリョーシカの様な状態の事を「ネストが深い」と言い

「クソコード」と揶揄される事もあるみたいですが

畑違いの私にとっては、なんのこっちゃでした

 

さて、ここまではノンフィクションですが

ここからは、皆様から頂いたアドバイスを元に

改善ストーリーを記事にしてみましたので

読んでいただけたら幸いです

コメント

タイトルとURLをコピーしました