
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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで複数のシートのクリ...
-
指定値をマクロで検索&シート移動
-
Excel VBAでのWorksheet_Change...
-
EXCELのダイアログシートって、...
-
Excelで数字を入れたら対応する...
-
エクセル シート内の一番下のセ...
-
【エクセル】「実行時エラー’10...
-
エクセルVBAで内容変更のたびに...
-
excel定数の違いについて。xlAu...
-
EXCEL マクロの記録で並べ替え...
-
Excelでセル内の文字をファイル...
-
エクセルファイルを開いた回数...
-
エクセルのマクロを教えてくだ...
-
長い時間かかるマクロが実行中...
-
Excelのシート上のShapeにイベ...
-
エクセル バージョン別の使用...
-
エクセルVBAで実行中画面を...
-
セルの一部分だけを太字にする方法
-
Excelにて、同じ画像を複数のセ...
-
エクセル:セル内の文字列の最...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
マクロ1があります。 A1のセル...
-
エクセルで複数のシートのクリ...
-
Excelのシート上のShapeにイベ...
-
Excelで数字を入れたら対応する...
-
【エクセル】フリーワード検索...
-
エクセルで特定の行だけ行削除...
-
エクセルファイルを開いた回数...
-
エクセル シート内の一番下のセ...
-
EXCELのダイアログシートって、...
-
長い時間かかるマクロが実行中...
-
【エクセル】「実行時エラー’10...
-
指定値をマクロで検索&シート移動
-
エクセル:セル内の文字列の最...
-
excel定数の違いについて。xlAu...
-
Excelにて、同じ画像を複数のセ...
-
Excelマクロでブック全体を検索...
-
エクセルでマクロを作りすぎた...
-
エクセルVBAで実行中画面を...
-
シートではなくBOOK間で重複し...
おすすめ情報