image

OK!これは重要です。

優れたVBAプロシージャには、常にこの行が最初に記載されています。

Application.Screenupdating=FALSE

そして、手順が終了する前に、この行も表示されます。

Application.Screenupdating=TRUE

ScreenUpdatingとは何ですか?

Screenupdatingは、VBAのアプリケーションオブジェクトのプロパティです。 TRUEまたはFALSEに設定できます。これはスイッチのようなもので、オンまたはオフにできます。

そしてそれは何をしますか?

最初の行は、Excelのリアルタイム画面更新を停止することにより、マクロ処理を高速化します。

異なるシートへの書き込み、フィルターの適用、フィルターの削除、シートの変更、ブックの保存などを行う長いマクロがある場合。また、Application.Screenupdating = FALSEの行を使用して画面の更新をオフにしていない場合は、画面上でちらつきます。ブック内のマクロによって行われたすべての変更は、動的に表示されます。これにより、マクロの速度が低下します。

また、マクロの先頭にこの行がある場合、Application.Screenupdating = TRUEの行を使用して画面の更新がオンになるまで、Excelはマクロによって行われた変更を反映しません。

マクロを高速化する場合は、サブルーチンの開始時に画面の更新を無効にし、サブルーチンの終了前に画面の更新を有効にします。

これが1つの例です:

Sub Screencheck()

Application.Screenupdating=FALSE 'Disabling the screen updating.

Sheet1.Activate

Range("A1").value ="Hi"

Range("A2").value ="How are you?"

Range("A3").value ="Exceltip is amazing, isn't it?"

Sheet2.Activate

Application.Screenupdating= TRUE 'Enabling the screen updating.

End Sub

上記のサブを実行すると、画面がちらつくことはありません。このマクロによって実行された作業の最終結果が表示されます。

重要な注意事項:

_手順を終了する前に、画面の更新を有効にしてください。

画面の更新を有効にしないと、マクロによって実行された作業を確認できません。_

すべてのExitSubおよびEndSubコマンドの前に画面を更新できません。 Subを終了する前に画面更新を有効にすることを忘れがちです。これを行わないと、コードが機能しなかった理由を疑問に思うかもしれません。しかし実際にはそうだった。あなたはそれを見ることができません。

それでおしまい。これは、Application.Screenupdating = FalseがVBAで行うことです。

この1行のコードは大きく変わります。それは成熟したプログラミングと不注意なプログラミングの違いです。マクロを高速化したい場合は、コードで常にこの行を使用してください。これがお役に立てば幸いです。この記事に関して疑問がある場合、またはその他のExcel / VBA関連の質問がある場合は、以下のコメントセクションでお気軽にお問い合わせください。喜んでお手伝いさせていただきます。

関連記事:

`link:/ cells-ranges-rows-and-columns-in-vba-what-is-the-difference-between-byref-and-byval-arguments-vba-interview-question [ByRefとByValの違いは何ですか議論?] `:これは重要なVBAの質問です。 ByValとByRefは、引数を異なる方法で渡すために使用されます。 1つは元の変数に変更を加え、もう1つは元の変数を変更しません。

link:/ using-loops-how-to-loop-through-sheets-in-excel-using-vba [VBAを使用してExcelでシートをループする方法]:VBAでExcelの通常の退屈なタスクを自動化しながら、各シートをループする必要があります。例から始めましょう。 Activeworkbookのすべてのシートでループしてシートを印刷するVBAコード名前 link:/ events-in-vba-the-events-in-excel-vba [ExcelVBAのイベント]:特定のときに何かが自動的に発生するようにしたい場合がありますイベントが発生します。 Excelで特定のイベントが発生したときに何かを行うには、ExcelVBAイベントを使用します*

人気の記事:

link:/ keyboard-formula-shortcuts-50-excel-shortcuts-to-increase-your-productivity [生産性を向上させるための50のExcelショートカット] | *タスクをより速くします。これらの50のショートカットにより、Excelでの作業がさらに高速になります。

link:/ forms-and-functions-introduction-of-vlookup-function [ExcelのVLOOKUP関数] |これは、さまざまな範囲やシートから値を検索するために使用される、Excelの最も使用され人気のある関数の1つです。

link:/ Tips-countif-in-microsoft-excel [Excel2016のCOUNTIF] | *この驚くべき関数を使用して条件付きの値をカウントします。特定の値をカウントするためにデータをフィルタリングする必要はありません。

ダッシュボードを準備するには、Countif関数が不可欠です。

link:/ excel-formula-and-function-excel-sumif-function [ExcelでSUMIF関数を使用する方法] |これは、ダッシュボードのもう1つの重要な機能です。これは、特定の条件で値を合計するのに役立ちます。