Elseに対応するIfがありません。Elseに対応するIfがありません。条件分岐Elseに対応するIfがありません。Elseに対応するIfがありません」といった検索キーワードでアクセスが時折あります。VBA初心者が遭遇する可能性のある、上図のような「Elseに対応するIfがありません。」コンパイルエラーの、発生する原因と対応方法を探していた方による検索です。Elseに対応するIfがありませんエラーの発生するサンプルマクロ以下のようなSubプロシージャが、「Elseに対応するIfがありません。」コンパイルエラーの、発生する代表です。「Elseに対応するIfがありません。」コンパイルエラーが発生します。Sub」が書かれているために、Elseに対応するIfがありませんエラーとなります。Ifのような書き方にすれば、エラーは発生しなくなります。Subのような書き方では、この1行だけで、完結したElseの無いIf文とみなされてしまいます。Subの後に、いきなり、Elseが登場するので、「Elseに対応するIfがありません。」とコンパイルエラーが発生します。Ifが、いきなり書かれているとみなされてしまうわけです。条件分岐の構造を作るコードと処理を行うコードを意識しようElseに対応するIfがありませんエラーを発生させてしまう方は、条件分岐の構造を作るコードと、分岐後の実際に処理を行うコードとの違いがクリアになってらっしゃらないのではないかと思います。If文などの複数行がセットになっているコードを、処理の構造を作るコードと、実際の処理を行うコードを区別することなく、上から順番に入力してらっしゃるのではないかと思います。VBAの教本』の、p.135以降の実習ページなどで、複数行がセットになっているコードは、上の行から入力するのではなく、セットになっているコードはまとめて入力することをおすすめしています。Projectのコンパイル]を実行することをおすすめしています。セットになっている構造を作るコードだけを入力した段階で(実際の処理を行うコードを書く前に)、コンパイルを実行してみましょう。入力しているコードが、条件分岐の構造を作るコードなのか、処理を行うコードなのか強く意識しましょう。Elseに対応するIfがありません。Elseに対応するIfがありません。Officeの使い方などを紹介し続け(2012年頃からはVBA関連記事が多め)、毎日5万人の方にご覧いただいています。(2019.01.08)Elseに対応するIfがありません。