相変わらずExcel VBAを使いまくってる日々なので腹にためてることをちょっと書き込もうと思った。なんか前にも書いたかもしんない。知らない。 以下はバッドノウハウの類も含むカオス内容。 if文内に書いた条件は全て評価されることに注意する。CやJavaのようなショートサーキットタイプではない。 それでもif文の評価コストに慎重にならないこと。 他言語で&&で置き換えられる内容をif文のネストで表現している奴を見たらVB出身を疑うことができる。 変数の通用範囲がプロシージャレベルであることに注意すること。ブロックで通用範囲が消えたりしない。 Dim hoge as New ClassNameとした場合、hogeが始めて使われる場所で変数にNewしてSetされる。その後プロシージャ内でこの宣言が実行されたとしてもNewされることはない。プロシージャレベルでのオブジェクトの使いまわしが怖いならA