• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:IF文の使用制限について(VBA))

VBAのIF文の使用制限について

このQ&Aのポイント
  • VBAのIF文の使用制限について質問です。25個目のIF文以降は正しく処理されません。IF文の使用個数の制限はあるのでしょうか?
  • VBAで25個以上のIF文を使用していますが、後半の3つのIF文だけ正しく処理されません。コードは間違っていないと思いますが、IF文の使用制限があるのでしょうか?
  • VBAで複数のIF文を使用していますが、25個目以降のIF文が正しく処理されません。IF文の使用制限について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

If文に回数制限はありません。 ましてや25個程度の入れ子や繰り返しで疑われるのは、機能的な制限よりも人為的ミスです。 何回も見なおして、間違ってないと思われるのに発生するからバグは怖いですね。 ありがちなミスとしては ・End Ifの記載漏れ・位置ずれ ・変数操作の誤り ・If~Elseの関係性を読み違えている VBAならば、ステップ実行やイミディエイトウインドウでの観察を以って、 該当するIf文に差し掛かった時点での各変数の値を覗いてみることで、 問題解決への一歩と成るかもしれません。

参考URL:
http://hp.vector.co.jp/authors/VA016119/step/step01.html
kumainu555
質問者

補足

早急にご回答いただきありがとうございます! なるほど…やはりありませんか>< End Ifの記載漏れは何回も見たので大丈夫そうですが、 変数操作の誤りが一番可能性としては高そうです…。 途中で値が変わっていないかなどを再度確認したいと思います。 参考URLも大変助かります。 ステップ実行も試してみたいと思います。 回答頂きありがとうございました。

その他の回答 (1)

  • 5S6
  • ベストアンサー率29% (675/2291)
回答No.2

おそらく他のIfの仲に入ってしまい、後半3つに行かないだけです。 プログラムを見直してください。 ブレークポイントでもおいて調べてみましょう。 きっと意図しないifに入っているのだと思います。 または if x > y then    if x<=z then    end if    if x<=a then       if n > m then       end if       if n >p then       end if    end if end if みたいに条件を1つに絞っていくとわかりやすいかもしれません。

kumainu555
質問者

補足

やはり制限は無いようですね・・・。 自分のミスということで、少し安心しました^^; ここから全てを変えるほうがキツイので…w ブレークポイントやコードの記述方法を変更して 再度プログラムを見直したいと思います>< ご回答頂きありがとうございました。

関連するQ&A