• ベストアンサー

excelでVBA実行後に画面に残るゴミを無くしたい。

こんにちわ。 excelで画面を色々と動かすVBAを作っています。 マクロ処理終了後に、セル選択のカーソル枠が、 ゴミのように画面上に残ってしまいます。 一度ウィンドウの最小化をしてから、 元のサイズへ戻すと無くなりますので、 画面上の問題だけと思われます。 画面再表示のようなコマンドを最後に出せば 良いかと思いますが、それがわかりません。 ご存知の方宜しくお願い致します。 (環境 windows98 excel:office2000)

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

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

こんにちは。 Application.ScreenUpdating = True を最後に追加してみてはいかがですか?

tosi0000
質問者

お礼

ご回答有難う御座います。 ご指摘のとおり直りました。

その他の回答 (3)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんにちは。 >指摘の様にFalseに戻してからTrueにするのが >正当な方法なのでしょうか? 単独で、ScreenUpdating =True 使っても、画面のリフレッシュはすることで、正当/不当ということではないと思います。 通常は、画面が動くと、その表示を変化させるためにメモリを使うので、ScreenUpdating=False にすると、マクロの動きが速くなります。そして、その作業が終わってから、ScreenUpdating =True を用います。実際、画面が激しく動きますので、目に非常に良くありません。 何かの作業の結果として、画面に何か残骸が残るというような場合は、仮に、画面が動いてなくても、ScreenUpdating =True を用いる方法ぐらいしか、直接的に画面に働きかける手段はないと思います。ただ、そういう症状に出会うことは少ないのです。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

通常は、  Application.ScreenUpdating = False   '画面が動く実行プログラム  Application.ScreenUpdating = True とはさみますが、 私は、失念していたけれども、 #2さんのご指摘で方法は、「単独で、以下を用いても」  Application.ScreenUpdating = True 確かに、画面がリフレッシュしますね。

tosi0000
質問者

お礼

ご回答有難う御座います。 直りました。 指摘の様にFalseに戻してからTrueにするのが 正当な方法なのでしょうか? ちょっと気にかかります。

回答No.1

CPUやグラフィックの処理速度が低い場合 そういうことが起きるようです。 まずはサービスパックなどが入っているか確認をしてみましょう

tosi0000
質問者

お礼

ご回答有難う御座います。

関連するQ&A