- ベストアンサー
VBA処理中に途中で止まってしまうのですが、デバッグ→継続 とすると、
VBA処理中に途中で止まってしまうのですが、デバッグ→継続 とすると、止まった箇所以降の処理がいっぺんに行われる現象が発生するのですが、これは何なのでしょう? 1列目~150列目くらいまでの各列において、同様の計算をし、 さらに、その計算結果の大きさによって、セルを色分けする、 なんてことをVBAにて、しています。 その際、 途中の列において、計算が追いつかなくなってしまうのか、 いったん、#N/Aのような文字列がセル内に発生し、 エラーとなってしまいますが、 そこで、デバッグへと進むと、#N/Aがすぐに正しい計算結果に換わり、 その後、「継続(F5キー)」へと進むと、 その後の列の処理に関しては、 処理中に停止してしまうことなく、スムーズに処理は完了します。 VBA初心者の私の見解としては、いったんどこかでエラーが発生することで、 そのエラーで止まっている間に、エラー箇所以降の処理を裏でしているために、 エラー箇所以降の処理では止まらずに、スムーズに行くような気がしているのですが、 どうなんでしょうか? ちなみに、エラー箇所を取り除いても、 結局は、次の列でエラーが発生することから、 エラー箇所固有の文法ミスなどではないと思っています。 計算自体は、単純で、どの列も同様の計算をしているため、 その列だけ、固有の問題があるとは考えにくく、 また、エラー箇所を取り除いても、必ず、次の列にエラーが移るため、 私からすると、 「そのあたりの列で、いったんエラーを出しておかないと、先へ進めない」 という風に思えるわけです。 つまり、どこかで休憩することで、 その後はスムーズに進む、なんていう風に思えるわけです。 この、休憩とも思えるエラーを無くすには、どうしたら良いでしょうか。 処理コードの文法ミスで止まるわけではなく、 計算が追いつかないことで止まるように思えるのですが、 こういうことは、仕様上、あり得ることなのでしょうか? VBA初心者であるため、このような現象に戸惑いを感じております。 どなたか、お詳しい方、アドバイスをお願い致します。 知りたいことは、 ・このような現象は、VBAにはそれほど珍しくなく起こるのかどうか。 ・このような現象の原因と解決策 以上、宜しくお願い致します。 必ずお返事致します。(ポイント付与も確実に行います。)
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
具体的にスクリプトがどのようなものなのか現物を 見せてもらわないとなんともいえませんが 可能性の範囲で セルの色はVBAで変更しているのですか? 計算式で参照元にしているセルの書式設定に 問題があるのかも知れませんね。 循環参照になっているとか セル間で自動計算させているとか
お礼
>計算式で参照元にしているセルの書式設定に問題があるのかも 実際に、あれこれ調べていましたところ、 どうやら参照元にエラーがあったらしく、そこが改善されてからは、 エラーは出なくなりました。 私の長文の質問を読み、回答下さり、どうもありがとうございました。 回答頂けたことで、この問題がどういった類の問題であるかが、 より深く分かるようになった気がします。 助かりました。