何分間も実行する必要がある大きなvbaマクロ/コードがある場合、マクロが実行されている間、カーソルを砂時計または待機カーソル(システム設定に基づく)に変更できます。マクロが完了すると、カーソルをデフォルトのカーソルに戻すことができます。

これは、カーソルを変更する方法を示すサンプルコードです。

Option Explicit

Sub macro1()

Application.Cursor = xlWait

_ ‘コードはこちら_

Application.Cursor = xlDefault

End Sub dimステートメントの後(このサンプルコードにはまだありません)、コードの先頭に_Application.Cursor = xlWait_ *を設定します。

  • 次に、実行する必要のあるコードを含めることができます。複数のサブ/プロシージャを呼び出す必要がある場合は、ここで呼び出すか、コード全体をここに入力することができます。

次に、End Subステートメントの直前に、カーソルをデフォルトにリセットする必要があります。これは、Application.Cursor = xlDefault *の行を使用して行います

__

Application.Cursor = xlWait_statementとともに、_Application.ScreenUpdating = False_or_Application.DisplayAlerts = False_などの必要な他のすべてのステートメントを含めることができます。同様に、_Application.Cursor = xlDefault * statementとともに_Application.ScreenUpdating = True_または_Application.DisplayAlerts = True_を含めることができます。

__

  • このコードをコピーするには、キーボードのAlt + F11キーを押します。これにより、コードモジュールが開きます。左側にMicrosoftExcelオブジェクトが表示されます。右クリックして[挿入]を選択し、[モジュール]を選択します。コードを右側のコードウィンドウにコピーします。