https://docs.microsoft.com/en-us/office/vba/api/excel.application.onkey#example
Make sure to put this inside "ThisWorkbook" NOT a Module!
Sub Workbook_Open() With Application .OnKey "{F1}", "Your_Macro_Name" .OnKey "{F2}", "Your_Macro_Name" End With End Sub Sub Workbook_BeforeClose(Cancel As Boolean) With Application .OnKey "{F1}" 'Clears the setting on close .OnKey "{F2}" End With End Sub
Note: F# do have functions so better to use CTRL+SHIFT+{LETTER} Eg: Use this Module to test CTRL+SHIFT+S
Public Sub SetKey() Application.OnKey "^+S", "Test" End Sub Public Sub Test() MsgBox "Testing" End Sub
Source:
https://wordribbon.tips.net/T008058_Assigning_a_Macro_to_a_Shortcut_Key.html