質問: エクセルでマクロを実行するとコンパイルエラー エクセルでvbエディタでソースコードを記述し、マクロを実行すると、コンパイルエラー、「subまたはfunctionが定義されていません」とエラーが出ます。これはどういうエラーですか?何が間違っているのですか?
回答: コードの行の中に ステートメント、関数、などに見つからない行があるということ abc と書くとすると、vbaの予想するあらかじめ決まったステートメント、関数、メソッド、プロパティで存在しないので、 関数functionプロジュアーか subプロシージャー を書いたものととりあえず解釈して それを探すが、別の場所に存在しないのでエラー指摘になる。 sub test01() asd end sub のようなのをやってご覧。同じエラーがでるよ。 何をasdに間違ったかは、その行の指摘があれば、作っているものは すぐ気が付くよ。 上記でasdの位置に rangeselectを入れた場合は「subまたはfunctionが定義されていません」だし range("a1")selectは「構文エラー」だ。微妙なものだよ。 ほんとに何かの事情で関数かsubプロシジュアーが消えたか 名前が変えられたか(1字誤って抹消したり、加わったり)もあるかもしれない。