'========================================================================================= ' 007 ショートカットキーにマクロを登録する '----------------------------------------------------------------------------------------- '【ヒント】 ' このマクロは、おためし機能の動作用のコードを含んでいます。(概ね下半分) ' ★★★の行またはサブプロシージャーが、タイトル機能に関係するコードです。(概ね上半分) '========================================================================================= ' ◆標準モジュールのコード◆ '----------------------------------------------------------------------------------------- Option Explicit Dim タイトル As String Dim スタイル As Long Dim メッセージ As String Dim 応答 As Variant '========================================================================================= Private Sub ショートカットキーにマクロを登録する() Application.OnKey "^{LEFT}", "ショートカットキーで実行するマクロ" '★★★ End Sub '----------------------------------------------------------------------------------------- Sub ショートカットキーで実行するマクロ() UserForm1.Show End Sub '========================================================================================= '----------------------------------------------------------------------------------------- Sub 標準のショートカットキーを使ってみる() おためしメッセージを準備する メッセージ = "[OK]ボタンをクリックしてから、" & Chr(13) & Chr(13) & _ "[Ctrl]キーを押したまま [←]キーを押して、" & Chr(13) & Chr(13) & _ "カーソルが画面の左端に移動することを、" & Chr(13) & Chr(13) & _ "確認してください" 応答 = MsgBox(メッセージ, スタイル, タイトル) End Sub '----------------------------------------------------------------------------------------- '----------------------------------------------------------------------------------------- Sub ショートカットキーにマクロを登録してみる() おためしメッセージを表示する If 応答 = vbNo Then 'NOボタンが押されたら Exit Sub End If ショートカットキーにマクロを登録する '★★★ End Sub '----------------------------------------------------------------------------------------- '----------------------------------------------------------------------------------------- Sub 登録したショートカットキーを試してみる() おためしメッセージを準備する メッセージ = "[OK]ボタンをクリックしてから、" & Chr(13) & Chr(13) & _ "[Ctrl]キーを押したまま [←]キーを、押してください" 応答 = MsgBox(メッセージ, スタイル, タイトル) End Sub '----------------------------------------------------------------------------------------- '----------------------------------------------------------------------------------------- Sub リセットして標準のショートカットキーに戻す() おためしメッセージを準備する メッセージ = "リセットして標準のショートカットキーに戻します" 応答 = MsgBox(メッセージ, スタイル, タイトル) Application.OnKey "^{LEFT}" '★★★ End Sub '----------------------------------------------------------------------------------------- '----------------------------------------------------------------------------------------- Private Sub おためしメッセージを表示する() おためしメッセージを準備する メッセージ = "ショートカットキー" & Chr(13) & Chr(13) & _ "( [Ctrl]キーを押したまま [←]キー )" & Chr(13) & Chr(13) & _ "にマクロを登録します" スタイル = 32 + 4 'vbQuestion + vbYesNo 応答 = MsgBox(メッセージ, スタイル, タイトル) End Sub '----------------------------------------------------------------------------------------- Private Sub おためしメッセージを準備する() Worksheets("Title").Select Range("P1").Select 'カーソルを目立つ位置へ移動する タイトル = "500連発 第2弾 サンプルマクロ" スタイル = 32 'vbInformation End Sub '----------------------------------------------------------------------------------------- Sub Auto_Close() Application.DisplayAlerts = False '閉じる際に確認メッセージを出さない ActiveWorkbook.Close '現在開いているブックを閉じる End Sub '----------------------------------------------------------------------------------------- '========================================================================================= ' ◆UserForm1のコード◆ '----------------------------------------------------------------------------------------- Private Sub CommandButton1_Click() Unload Me リセットして標準のショートカットキーに戻す End Sub '=========================================================================================