エラー」のエラーは、メッセージを見ただけではエラーの意味がよく分からないため、対処方法がわからず困る方も多いのではないでしょうか。まとめオートメーションエラーとはまず、オートメーションエラーについて簡単に解説します。オートメーションエラーとは、発生する原因がとても多いエラーの一つです。オートメーションエラーのメッセージサンプル:たとえば、以下のような状況でエラーが起こるときがあります。削除したシートを指定して、シート操作をしてしまった場合シート関数の処理に矛盾があるようなケースExcel以外のアプリをたくさんたちあげているときにVBAの処理を実行してしまった場合そのため、具体的になぜエラーが起こっているかわかりづらいエラーなんですよね。重たい処理を動かしたときにおこりやすいですが、同じ処理をもう一度動かしても同じエラーが起こらないケースがあるのが、このエラーの厄介なところです。↓しばらくたってからエラー再発のように、急にエラーが発生してしまうことも多いため、とても厄介なエラーです。オートメーションエラーの対処方法ここまで説明を聞くとじゃあいったいどうやって対処すればいいんだ・・・と思った方もいるのではないでしょうか。確かに、具体的な原因を見つけづらいエラーではありますが、対処方法はあります!今回のような「具体的な原因がわからない、いつ起こるかわからない」エラーの場合、以下のような対応がおすすすめです!繰り返し処理以外にできないか考えてみる高速化対応を取り入れる無駄なメモリを使わない方法にするそれぞれ詳しく解説しますね。繰り返し処理以外にできないか考えてみるまずは、「繰り返し処理以外にできないか考えてみる」についてです。処理を作っていると繰り返し処理でデータを取得・登録するケースが多いと思います。データ一覧から重複削除するようなケースです。次のような一覧データからデータを削除するときに、次のように繰り返し処理で重複削除処理を作ってしまうケースがあります。・n-1行目・n行目をチェックして重複していたら削除1行目・2行目を重複チェックするイメージ:2行目・3行目を重複チェックするイメージ:ただ、重複削除処理は、RemoveDuplicatesメソッドを使って1行で重複削除処理を書くこともできます。無駄な繰り返し処理をしていると、その分メモリを消費して処理も重くなってしまうため、オートメーションエラーが起こりやすくなってしまいます。高速化対応を取り入れる次は、「高速化対応を取り入れる」についてです。繰り返し処理以外にも、処理が重たくなる原因はいくつかあります。CSVやテキストファイルの読み込み処理を作るようなケースです。ファイルを読み込む方法は大きく分けて2つあります。QueryTablesメソッドで読み込む1の方法はファイルを開いて1行ずつデータを読み込む方法で、2はExcelの外部データのインポート機能を使ってデータ全体をごそっと読み込む方法です。2の方法の方が圧倒的に処理が速く、1で10秒かかる場合でも2であれば1秒以内に処理が終わります。このように、同じ処理でも遅い書き方・速い書き方があります。無駄なメモリを使わないようにする次は、「無駄なメモリを使わないようにする」についてです。Excelの数式で多いのですが、列や行を選択するときに列全体・行全体を数式に入れていることがありませんか?列全体・行全体を入れていれば、どこにデータがあっても計算結果が表示されるため、とても便利に見えて使っている人がとても多いです。セルに値が書き込まれると列全体・行全体をもう一度見て再計算してしまうため、数式が入っているセルが増えるごとに処理が重たくなってしまいます!そのため、再計算に無駄にメモリを消費してしまい、オートメーションエラーにつながりやすいです。データの範囲は可能な限り最小限にして作りこむのがおすすめです!数式でどうしても表現できない場合は、「データが増えたときに数式の範囲を書き換える処理」をVBAで組み込むのもおすすめです。大事なのは、「意味のない範囲を無駄に設定しすぎないこと」なので、範囲を絞れるものは絞って作るとオートメーションエラーが起こりづらくなるのでおすすめです。エラー処理を入れる方法とは今まで解説したような方法を取り入れても、処理の複雑度やパソコンのスペックによってオートメーションエラーが起こってしまうケースはよくあります。エラーが発生したときにVBEの画面に移動してしまうと、VBAを知らない人がツールを使っていた場合はびっくりしてしまいますよね。閉じたブックをアクティブ化」の処理にエラー処理を入れたサンプルコードを用意しました。Function実行結果:エラーが起こるときのメッセージの内容はほとんど同じですが、VBEに移動せずにメッセージを表示することができます。したことで使い勝手が大きく変わるので、エラー処理を入れる癖をつけるのがおすすめです。補足:その他よくあるエラーの対処方法オートメーションエラー以外にも、起こりやすいエラーはたくさんあります。エラー」のエラーが起きる原因・対処方法について解説しました。このエラーは発生原因がわかりづらいエラーなので、発生しにくい作りにしていくのが重要です。エラーが起きてしまったときは、この記事を見つつ対応してみてくださいね!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。Wakizaka新卒入社したメーカー系のIT企業で、システムエンジニアとして約5年勤務。インフラ、製造、テスト、運用保守など、様々な経験あり。侍ブログ編集部として、これまでに200記事以上の記事を執筆。現在はフリーランスエンジニア兼テックライターとして活動中。