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
