No.6ベストアンサー
- 回答日時:
select等が含まれている場合は、実際にシートなどを選択して実行するため、
マクロ命令そのものをそういう命令を使わない形にするか、
直前の状態を保存して、最後に復元する必要があります。
selectを使っている限りシートの変更を固定できたとしてもそこでエラーになります。
今回の場合はselectを全て排除してこう記述すれば実現できます。
Application.ScreenUpdating = False
Sheets("data").Range("C1").FormulaR1C1 = "2"
Application.ScreenUpdating = True
ScreenUpdating はなくても構いません。
No.5
- 回答日時:
他の人のお答えとちょっと違った角度からお答えします。
お役に立てばよいのですが。そのマクロは、ひょっとして記録型マクロではありませんか。
例えばsheet1のセルA2にsheet2のセルB2の値を入れるのに以下のように記述すると画面が変わります。
Sheets("Sheet2").Select
Range("B2").Select
Selection.Copy
Sheets("Sheet1").Select
Range("A2").Select
ActiveSheet.Paste
これを以下のようにすれば画面は変わりません。
Sheet1.Range("A2")=Sheet2.Range("B2")
このように不必要な画面選択やスクロールなどがないか調べて、それらを消去すればいかがでしょうか。
No.4
- 回答日時:
#1です。
Excel97のVBAヘルプには「以前のバージョンの Excel では、このプロパティの値が自動的にリセットされましたが、Excel 97 ではリセットされません。」とありますが、私の経験上ではプロシージャが正常終了してリセットされなかった事は無いです。
修正パッチ前の初期バージョンだと戻らない事があるのかな?
どうせなら、
Sub xxx()
On Error GoTo ER
Application.ScreenUpdating = False
'何らかの処理
ER:
Application.ScreenUpdating = True
End Sub
のようにエラー回避もした方が良いかも。
No.3
- 回答日時:
No1の回答者さんと同じ
画面を固定したいステートメント前に下記を入れます
Application.ScreenUpdation=False
2000以上のバージョンではプロジャーが終了すると
自動的にTrueに戻りますが
97では戻らないことがありますのでプロジャーの終了にApplication.ScreenUpdation=Trueを入れて戻してください
ありがとうございました。
無事解決しました。
余談ですが、Application.ScreenUpdatingを使うと処理速度も上がった記憶があります。
でも、どうしても思せなかった!
No.1
- 回答日時:
Application.ScreenUpdating = False
です。
この回答への補足
皆様、回答ありがとうございました。
代表してこの回答に補足させていただきます。
結果的には私の使い方が悪くてうまくいきませんでした。
実際には、シート名:dataのセルC1に値2を入れるのですが、回答いただいた構文を挿入して別のシートから、マクロを実行すると dataのシートに移って終了します。
(マクロが終了しても、最初に開いていたシートのままでいたいのですが)
この場合には、回答いただいた命令は使い方がちがうのでしょうが、ちなみに次のような内容です。
Application.ScreenUpdating = False
Sheets("data").Select
Range("C1").Select
ActiveCell.FormulaR1C1 = "2"
なお、エクセルのVERは2000です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行して 作業フォルダの中にある PDFファイル名を 3 2023/07/01 15:16
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) エクセル VBA実行中のApplication.ScreenUpdatingについて 3 2023/07/13 21:06
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/03/01 15:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/07/14 12:49
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Excel(エクセル) エクセルのマクロで複数シートを両面印刷するには? 2 2022/12/08 23:23
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/15 16:33
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Excelでマクロ実行中に画面を固定する方法
Visual Basic(VBA)
-
Excel VBAで「プログラム実行」ボタンと「プログラム停止」ボタンをつけたい
Excel(エクセル)
-
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
-
4
VBA シートの切り替えができないようにするには
PowerPoint(パワーポイント)
-
5
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
6
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
7
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
Excelで数字を入れたら対応する...
-
Excelのシート上のShapeにイベ...
-
【エクセル】フリーワード検索...
-
長い時間かかるマクロが実行中...
-
エクセルで複数のシートのクリ...
-
エクセルファイルを開いた回数...
-
エクセル シート内の一番下のセ...
-
excel定数の違いについて。xlAu...
-
シート全体の絶対参照
-
エクセルのワークシート(テン...
-
セルの一部分だけを太字にする方法
-
エクセルVBAで実行中画面を...
-
エクセルでランダムな座席表を...
-
エクセル上にシェイプで二重丸...
-
エクセルマクロでファイル名や...
-
【エクセル】「実行時エラー’10...
-
EXCEL マクロの記録で並べ替え...
-
エクセルで特定の行だけ行削除...
-
WEB画面をエクセルのセルに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
Excelで数字を入れたら対応する...
-
エクセルで複数のシートのクリ...
-
エクセルファイルを開いた回数...
-
Excelのシート上のShapeにイベ...
-
エクセルで特定の行だけ行削除...
-
長い時間かかるマクロが実行中...
-
エクセル シート内の一番下のセ...
-
【エクセル】フリーワード検索...
-
Excelでセル内の文字をファイル...
-
【エクセル】「実行時エラー’10...
-
シートではなくBOOK間で重複し...
-
フォルダ内にある全ファイルの...
-
EXCELのダイアログシートって、...
-
エクセル:セル内の文字列の最...
-
自分の専門分野の仕事。初見で...
-
セルの一部分だけを太字にする方法
-
エクセルで○をつけるマクロ設定
-
エクセル マクロ 一定時間おき...
-
Excelにて、同じ画像を複数のセ...
おすすめ情報