• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ステップインで実行しても中断させない方法を教えてく)

ステップインで実行しても中断させない方法を教えてください

このQ&Aのポイント
  • エクセルでOLEObjectを削除するコードを実行する際に、デバッグモードで実行すると中断モードになります。この問題を回避する方法について教えてください。
  • 実際のコードは長く、ステップインでコードの動きを見たいのですが、OLEObjects.Deleteの部分でエラーが発生してしまいます。エラーを回避してステップインで実行する方法を教えてください。
  • デバッグモードでOLEObjectを削除するコードを実行する際に、ステップインで実行すると中断モードになってしまいます。この問題を解決する方法について教えてください。

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

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

OLEObject というのは、Excel外のオブジェクトで、Excelと関係が結ばれているのを、切るのですから、その切れる過程をみることはできません。 あくまでも、これは実務上のことですが、実際に、私もマクロ作成中に、そういうことに出会います。 役に立たない知識かもしれませんが、私の不確かな記憶ですが、OLEObjectの削除の場合、一瞬、マクロの実行が途切れて、その時にオブジェクトが削除されるはずです。だから、その削除前で止めるのは可能でも、事後で止めるというのは、マクロとして成り立たないことになる、というような解釈をしていました。 私は、そういう時、コードの進展をみるために、その部分に以下のようなダミーを置いて、実行後の様子をみます。 例: Sub オブジェクト削除() MsgBox "ActiveSheet.OLEObjects.Delete" Stop 'ブレークポイントの代わり(恒久的) End Sub なお、Excelでは、Select したものを、橋渡しして処理する時に、Selection は使われますが、Rangeオブジェクトなど、明示的に使うことが多いので、Excel VBAでは、特殊な裏ワザ的なコードにしか使われません。逆に言うと、Excelでは、"Select" するということは、シートオブジェクト以外では、あまり使いません。

YLZGTQQOER
質問者

お礼

ありがとうございます。

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

Selection.Value のSelectionを直前で削除してるから、何もSelectされてない? Selectionは「代名詞」なので、意図してるオブジェクトをきちんと書いてみるとどうなりますか?

YLZGTQQOER
質問者

お礼

ありがとうございます。

関連するQ&A