• ベストアンサー

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

  • Excel VBA コメントに関して

    Excel2003を使用しています。 VBAになるのかは定かではないのですが Excelの機能に「コメント」を付ける機能がありますよね セルに対してカーソルを合わすことで表示される黄色い枠のコメントのことをしるす。 これをオートシェイプやコマンドボタン等のオブジェクトに対してカーソルを合わせることに よってこのコマンドがなんなのかのコメントを付けたい場合Excelでできるのでしょうか? もし、できるとしたならばどのようにしたらいいのでしょうか? VBAを使いできるのか、もっと楽な方法があるのか 教えて頂きたいのです。 ご教授願えないでしょうか、宜しくお願いします(人>д<*ペコ謝) ※補足※ コマンドボタンやオートシェイプでテキストを入れてしまうとボタン自体が入れる文字数によって大きくなってしまうのでできるだけ小さいボタンを作り補足事項やヘルプとして使用したい。 コマンドボタンにはVBAプログラムを組むとして、オートシェイプならば、図形にマクロを登録するとして、カーソルを合わした時のみコメントを表示させたいということです。

  • Excel VBA での画面最大化のロックについて

    Excel2000 VBA で既存ツールの改造を行っています。 VBA内で画面を最大化、及びExcelのサイズ変更(最大化⇔標準化、最小化、消去)ボタンやメニューは消去しているのですが、最大化したExcel画面の上の枠(青色のタイトル欄)をダブルクリックすると、Excelの画面が標準化サイズに縮小してしまいます。 Excel画面の上の枠のダブルクリックでのサイズ変更をロックする方法をご存知の方、教えて頂けないでしょうか? 宜しくお願い致します。

  • excelでVBAの画面が開かない

    Windows2000上で、excel97を使用しているのですが、 昨日までVBAの編集画面が出ていたのに、今日は突然開かなくなってしまいました。 今まで使っていたexcelのマクロは開けますが、 新規でマクロを作ろうとすると、開こうとはするのですが、 すぐに閉じてしまいます。 リブートしても直りませんでした。 これはどのように対処すればよいでしょうか?

  • VBA 起動時にエクセルの画面が表示されてしまう

    VBA 起動時にエクセルの画面が表示されてしまう こんにちは、VBA初めて1週間ぐらいの初心者です よろしくお願いします 動作環境として、OS:XP excel:excel2007 を使用しています まずはじめに、エクセルを開いて内容変更セーブして終了するというマクロを組んだのですが 別のプログラムから、 そのエクセルファイルに起動をかけて マクロを実行し終了するよう作りました。  /*** コード ***/ ThisWorkbook 0  Private Sub Workbook_Open() 1   Application.Visible = False          //エクセル画面を消す 2    3   call 内容変更し保存する関数()        // 標準モジュール内 SUB 関数 4    5   ThisWorkbook.Saved = True           // セーブしたことにする 6   If Workbooks.Count <= 1 Then Application.Quit // 他のエクセルが開いてない場合のみ終了する 7   ThisWorkbook.Close False            // エクセル終了 8  End Sub  /*** コード ***/ 質問1 ・1行目にエクセルの画面を消す関数を、プログラムの先頭に来ると思われる部分に入れて実行してみたのですが、 どうしても、起動してから画面を消す処理が始まるまでに、一瞬だけexcelのファイルが表示されてしまうのですが これを回避する方法はありますでしょうか? VBAを使ってマクロの処理をするのですが、 使う方にエクセルを使っているという事を悟られたくないのです 質問2 ・6行目、開いてるエクセルが自分だけの場合のみエクセルを終了すると組んだつもりなのですが、 処理を流すとエクセルで開いているファイルがすべて閉じてしまいます。 記述を間違えていたりしますか? 以上 ご教授お願いいたします <<検索ワード>> VBA VBA 起動画面表示 起動画面非表示 起動画面を出さない 起動画面を消す

  • エクセルVBAのサイズについて

    エクセルファイル上にてVBAを記述したところ、 VBAのサイズが64Kを超えるようで、該当のVBAを保存する事ができません。 ただ、一時的に細かく作成したのですが、当初考えていたのは、1回コマンドボタンを押すと処理が完了するように想定していたのですが、現状のままでは、複数のコマンドボタンをそれぞれ押さないとできないと思われます。ちょっとその方法ですと面倒なので、ご質問です。 (当初は、マクロ1を作成したのですが、大きさの問題が生じたため、現状は便宜的にマクロ2・マクロ3という風に当初のマクロ1をわけて保存してあります) 1回の処理で同時に複数のマクロを実行する方法はあるのでしょうか? もしそのような方法があれば教えてください。 わかりづらい質問かもしれませんが宜しくお願いいたします。

  • excel2000のVBAについて

    excel2000でコマンドボタン(command1)をclickすると VBAの command1_click関数の処理をするという マクロをVBAで作成したいのですが、 (1)excelシート上にコマンドボタンの作成方法 を教えてください

  • office 2007です、ExcelのVBAの画面にアクセスすること

    office 2007です、ExcelのVBAの画面にアクセスすることが出来ません。 マクロのメニュはあるのですが???

  • エクセルVBAのボタン操作について

    sheet1にコマンドボタン(CommandButton1)を貼り付けて sheet2にもコマンドボタン(CommandButton1)を貼り付けています。 sheet1のコマンドボタンを押すとVBAで処理をして sheet2を表示後 自動的にsheet2のコマンドボタンにかかれたVBAの処理をしたいのですがうまくいきません。 教えてください。 環境windows2000 office 2000 sheet1のボタンの最後 Sheets("2").Select ActiveSheet.Shapes("CommandButton1").Select でうまくいきません。

  • エクセルVBAで実行する対象を選択文字列にするには?

    エクセルVBAで文字列を半角や全角にするマクロをつくっています。 私は、”あるセルに対して”はできるんですが、 その対象文字列を、”カーソルで選択して反転したところに対して”実行できるようにしたのです。できるんでしょうか。 よろしくおねがいします。

  • VBAで上下のセルを入れ替えるには?

    次のようなことをしたいのですが、なかなかうまくいきません。 (1)任意のセル(例えばB2)にカーソルを置いて、 (2)マクロを実行すると、 (3)1つ下のセル((1)の例ならB3)と内容が入れ替わり、 (4)そのセル(B3)にカーソルが移動して終了。 セルの入れ替えを頻繁にする仕事をしているので、上記の動作ができるととても助かります。 いろいろ試したのですが、VBAは初心者なのでなかなかうまくいきません。 どうかよろしくお願いします。

専門家に質問してみよう