教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAでフォーム内のコマンドボタンをクリックしてマウスポインタの形状を変更する方法

構文

構文は以下の通りです。

Screen.MousePointer = マウスポインタの種類

解説

Screen.MousePointerを使用して、マウスポインタの形状を指定します。マウスポインタの種類には、ExcelVBAで提供されている定数(例:xlDefault、xlHourglass)を使用します。以下に種類を一覧で紹介します。

【マウスポインタの種類】

定数 内容
xlDefault 0 通常の矢印(デフォルトのポインタ)
xlNorthwestArrow 1 左上向き矢印(Windowsの通常カーソルに近い)
xlCross 2 十字の矢印(セルの移動に使われる十字カーソル)
xlIBeam 3 テキスト入力のカーソル(アイビーム)
xlHourglass 11 砂時計のアイコン(処理中を示す)

プログラミング例

具体的なプログラミング例を紹介します。

Private Sub コマンドボタン1_Click()
    ' 砂時計に変更
    Screen.MousePointer = xlHourglass
    ' 5秒待機(処理中をシミュレーション)
    Application.Wait (Now + TimeValue("00:00:05"))
    ' マウスポインタを元に戻す
    Screen.MousePointer = xlDefault
End Sub

上記のプログラムは、Screen.MousePointer = xlHourglassで、マウスポインタを砂時計に変更します。次に、Application.Waitでは5秒間の待機時間を設定し、処理が進行中であることをシミュレーションしています。最後に、Screen.MousePointer = xlDefaultでマウスポインタをデフォルトの形状に戻します。

まとめ

Screen.MousePointerを使用して、フォーム上の操作に応じてマウスポインタの形状を変更することができます。この機能を利用することで、ユーザーに処理の進行状況を視覚的に知らせることができ、インターフェースの利便性が向上します。