- ベストアンサー
excelでVBA実行後に画面に残るゴミを無くしたい。
こんにちわ。 excelで画面を色々と動かすVBAを作っています。 マクロ処理終了後に、セル選択のカーソル枠が、 ゴミのように画面上に残ってしまいます。 一度ウィンドウの最小化をしてから、 元のサイズへ戻すと無くなりますので、 画面上の問題だけと思われます。 画面再表示のようなコマンドを最後に出せば 良いかと思いますが、それがわかりません。 ご存知の方宜しくお願い致します。 (環境 windows98 excel:office2000)
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 Application.ScreenUpdating = True を最後に追加してみてはいかがですか?
その他の回答 (3)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 >指摘の様にFalseに戻してからTrueにするのが >正当な方法なのでしょうか? 単独で、ScreenUpdating =True 使っても、画面のリフレッシュはすることで、正当/不当ということではないと思います。 通常は、画面が動くと、その表示を変化させるためにメモリを使うので、ScreenUpdating=False にすると、マクロの動きが速くなります。そして、その作業が終わってから、ScreenUpdating =True を用います。実際、画面が激しく動きますので、目に非常に良くありません。 何かの作業の結果として、画面に何か残骸が残るというような場合は、仮に、画面が動いてなくても、ScreenUpdating =True を用いる方法ぐらいしか、直接的に画面に働きかける手段はないと思います。ただ、そういう症状に出会うことは少ないのです。
- Wendy02
- ベストアンサー率57% (3570/6232)
通常は、 Application.ScreenUpdating = False '画面が動く実行プログラム Application.ScreenUpdating = True とはさみますが、 私は、失念していたけれども、 #2さんのご指摘で方法は、「単独で、以下を用いても」 Application.ScreenUpdating = True 確かに、画面がリフレッシュしますね。
お礼
ご回答有難う御座います。 直りました。 指摘の様にFalseに戻してからTrueにするのが 正当な方法なのでしょうか? ちょっと気にかかります。
- espelia0315
- ベストアンサー率29% (12/41)
CPUやグラフィックの処理速度が低い場合 そういうことが起きるようです。 まずはサービスパックなどが入っているか確認をしてみましょう
お礼
ご回答有難う御座います。
お礼
ご回答有難う御座います。 ご指摘のとおり直りました。