Excelで関数とかを組んでいて、基本的なロジックを組めたんだけど、計算しないといけないケースはたくさんあって繰り返し入力するのが面倒くさい!なんて場面にでくわしたときによく使うコードを書いてみます。雛形として使えるかと。
Contents
1.ステップ
動作のステップはこんな感じ。
Step1.入出力のセル(場所)を定義
Step2.計算条件を引き込む
Step3.2.で引き込んだ計算条件を1.で定義したセルに設定
Step4.計算
Step5.結果を1.で定義したセルを基準に出力
2.コード
順番にVBAのコードに落としていきます。シンプルな例でVBAを使う必要もないのですが、
サンプルファイル
aとbを引き込んでa^2+b^2を返すロジックを組み、それをいろんなaとbの組み合わせで計算するマクロを作ることにします。
3.補足
- Step1の入出力設定は必ずしも必要ではないのですが、起点となるセル等の定義関係はまとめておいた方がなにかと便利なので作っています。これで例えばCondSetと書くとシート名”Sample”のセル”C3″のことと認識してくれます。
- シート名の取得はアクティブシート名の取得の方法ではなく、直接的に”Sample”を
とする方式もあります。
- 「=」はExcelでは代入という意味を持ちますので、
はaaaとしてセル”B9″から下にiiiだけいったところの値を代入するということになります。
4.あとがき
今回書いたコードは私もちょっと反復動作が必要なときに、結構頻繁に使っていているコードです。
今回はいわゆるfor文を使いましたが、Do While ~の形で書くことも可能で、そうするとケース数Counterの設定が不要になります。ぜひ試してみてください!今度の機会に書いてみます!