ショートカットカスタマイズ

PERSONAL.XLSB に標準モジュールを追加し、「AutoOpen」という名前にすると、Excel起動時に動きます。
これを利用してショートカットをカスタマイズしています。

Option Explicit

Sub Auto_Open()
    ショートカットキー割り当て
End Sub

Private Sub ショートカットキー割り当て()
    'Shift +
    'Ctrl ^
    'Alt %
    Application.OnKey "+^V", "値の貼り付け"
    Application.OnKey "%{RIGHT}", "ズームアップ"
    Application.OnKey "%{LEFT}", "ズームダウン"
    Application.OnKey "{F1}", "リボン表示"      'F1のデフォルトはヘルプ
    Application.OnKey "{F3}", "セルの書式設定"  'F3のデフォルトは[名前の貼り付け]ダイアログボックス
    Application.OnKey "{F6}", "列表示切り替え"  'F6デフォルトはExcel内の操作ウィンドウ切り替え
    Application.OnKey "{F7}", "セル結合"        'F7デフォルトはスペルチェック
End Sub

Private Sub 値の貼り付け()
    On Error Resume Next
    Selection.PasteSpecial Paste:=xlPasteValues, operation:=xlNone, skipblanks:=False, Transpose:=False
    On Error GoTo 0
End Sub

Private Sub ズームアップ()
    If ActiveWindow.Zoom < 396 Then
        ActiveWindow.Zoom = ActiveWindow.Zoom + 5
    End If
End Sub

Private Sub ズームダウン()
    If ActiveWindow.Zoom > 30 Then
        ActiveWindow.Zoom = ActiveWindow.Zoom - 5
    End If
End Sub

Private Sub リボン表示()
    'Excel2010 以降(表示と非表示が切り替わる)
    Application.CommandBars.ExecuteMso "MinimizeRibbon"
End Sub

Private Sub 列表示切り替え()

    If Application.ReferenceStyle = xlA1 Then
        Application.ReferenceStyle = xlR1C1
    Else
        Application.ReferenceStyle = xlA1
    End If
    
End Sub

Private Sub セルの書式設定()
    'デフォルトでも Ctrl+1 で呼び出し可
    Application.SendKeys "^1"
End Sub

Private Sub セル結合()
    Dim c As Variant
    With Selection
        If .MergeCells = False Then
            Debug.Print "結合前"
            For Each c In Selection
                Debug.Print c.Address(RowAbsolute:=False, ColumnAbsolute:=False) & ": " & c
            Next c
            Application.DisplayAlerts = False
            .Merge
            Application.DisplayAlerts = True
        Else
            .MergeCells = False
        End If
    End With
End Sub
タイトルとURLをコピーしました