Excelアドインによるショートカットキー拡張機能を紹介する記事です。この記事を読むと、たった5分で、あなたのExcel作業が10倍楽になります!手順通りに作業するだけで、すぐに使えるので、ぜひ試してみてください!
(更新日:2022/03/05)
想定読者
「セルの背景色を1発で変更するショートカットキーって無いの?」という方。
「脱マウス推進派!マウスを一度も触らずに、Excelを使いこなしたい!」という方。
「自分好みのショートカットキーを自分で設定したい!」という方。
この記事を書いた人
- Microsoft Certified Trainer 2021-2022(マイクロソフト認定トレーナー)
- MOS Excel 2019&365 Expert/Associate取得
できるようになること
まずは、今回の記事で使用できるようになるExcel拡張機能の一覧を紹介します。ファンクションキーに割り当てる形でオリジナルのショートカットキーを作成しています。人によっては、使いたいショートカットキーが異なる場合もあるので、適宜、コードを書き換えてください。(詳しくは、後述します。)
# | オリジナルキー | 機能 |
01. | F1 | コピーしたデータを数値貼り付け |
02. | F2 | 選択したセルを編集(デフォルト機能) |
03. | F3 | コピーしたデータの書式のみを貼り付け |
04. | F4 | 一つ前の操作を繰り返し(デフォルト機能) |
05. | F5 | 選択したセルの背景色を黄色に変更 |
06. | Shift + F5 | 選択したセルの背景色を赤色に変更 |
07. | F6 | 選択したセルの文字色を赤色に変更 |
08. | F7 | 選択したセルの文字色を青色に変更 |
09. | F8 | 選択したセルの背景色を灰色に変更 |
10. | Shift + F8 | 選択したセルの背景色を水色/緑色に変更 |
11. | F9 | オートフィル機能(Alt→H→F→I→S) |
12. | F10 | アクティブなファイルの保存場所を開く |
13. | F11 | ゴールシークを起動 |
14. | F12 | 名前を付けてファイルを保存(デフォルト機能) |
15. | Ctrl+Shift+Enter | ハイパーリンクを展開 |
16. | Shift + F11 | アクティブシートの左側にシート追加(デフォルト機能) |
17. | Ctrl + Shift + F11 | アクティブシートの右側にシート追加 |
18. | Ctrl + Shift + I | 選択セルのところへ四角オブジェクト(背景色:黄色、文字色:赤、フォント12)を挿入する。 |
19. | おまけ1 | Numlockキーを無効化 |
20. | おまけ2 | Insertキーを無効化 |
必要なこと
今回初めてExcelアドイン(or Excelマクロ)を使うよ!という方は、
先にこちらの記事を確認してくださいね。
「マクロを初めて使う人が、 まず始めにやらなければならない2つのこと。」
それでは、まず初めに、新規Excelファイルを立ち上げてください。
Alt + F11 を押し、VBE(Excelマクロを編集するアプリ)を立ち上げます。
VBAProject (Book1) を右クリック → 挿入 → 標準モジュール の順に左クリック。
Module1が追加される。
Module1に以下のVBAコードをコピペします。
コピペするVBAコードは以下です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 |
Private Sub Auto_Open() '<マクロ機能の概要> '"[]"の中のキーで、特定のプロシージャーを起動するExcelショートカット拡張マクロです。 'デフォルトでは、ショートカットキーが割り付けられていない機能をピックアップしました。 'Excelアドインに追加して、使用いただくことを想定しています。 'トリガーとなるキーは好きに変更可能です。ご自身の操作しやすい組み合わせに変更してください。 'キーリストはこちらです。→ https://docs.microsoft.com/ja-jp/office/vba/api/excel.application.onkey 'なお、VBA上では、"^(カレット)"= Ctrl, "+(正符号)"= Shift, "~"= Enter, "%"= Alt です。 '<キーの割付一覧> Application.OnKey "{F1}", "PasteValues" '[F1]で数値貼り付け Application.OnKey "{F3}", "PasteFormats" '[F3]で書式貼り付け Application.OnKey "{F5}", "InteriorColorChange" '[F5]で背景黄色 Application.OnKey "+{F5}", "InteriorColorChange_Red" '[Shift+F5]で背景赤色 Application.OnKey "{F6}", "FontColorChange" '[F6]で文字赤色 Application.OnKey "{F7}", "FontColorChange2" '[F7]で文字青色。 Application.OnKey "{F8}", "InteriorColorChange3" '[F8]で背景灰色 Application.OnKey "+{F8}", "InteriorColorChange2" '[Shift + F8]で背景水色、緑色 Application.OnKey "{F9}", "Autofill" '[F9]で、オートフィル機能を実行。 Application.OnKey "{F10}", "FilePassGet" '[F10]でアクティブなワークブックの保存場所を開く。 Application.OnKey "{F11}", "GoalSeak" '[F11]でゴールシーク起動。 Application.OnKey "^+~", "hyperlinks_open" '[Ctrl + Shift + Enter]で、ハイパーリンクを展開。 Application.OnKey "{NUMLOCK}", "" '{NUMLOCK}キーを無効化 Application.OnKey "{INSERT}", "" '{INSERT}キーを無効化 Application.OnKey "^+i", "InsertSqure" '[Ctrl+Shift+I]で、四角オブジェクト(背景黄色,文字赤)を追加する。 Application.OnKey "^+{F11}", "SheetAdd" '[Ctrl+Shift+F11]で、アクティブシートの右側にシート追加。 End Sub Sub SheetAdd() 'シートの追加(右側) Sheets.Add After:=ActiveSheet End Sub Sub PasteValues() 'コピーしたセルの数値のみを貼り付け Selection.PasteSpecial Paste:=xlPasteValues End Sub Sub PasteFormats() 'コピーしたセルの書式のみを貼り付け Selection.PasteSpecial Paste:=xlPasteFormats End Sub Sub hyperlinks_open() 'ハイパーリンクを開く Selection.Hyperlinks(1).Follow End Sub Sub FilePassGet() 'ファイルの保存場所を開く Dim sPath sPath = ActiveWorkbook.Path Shell "C:\Windows\Explorer.exe " & sPath, vbNormalFocus End Sub Sub GoalSeak() 'コマンドでゴールシークのダイアログボックスを起動 SendKeys "%" SendKeys "a" SendKeys "w" SendKeys "g" End Sub Sub Autofill() 'コマンドでオートフィルを実行 SendKeys "%" SendKeys "h" SendKeys "fi" SendKeys "s" 'SendKeys "%f" 'SendKeys "~" End Sub Sub FontColorChange() If Selection.Font.Color = vbBlack Then 'Font.Colorは、「文字色」という意味 'もし、選択しているセルの文字色が黒なら '色は→参照 https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/color-constants Selection.Font.ColorIndex = 3 '色を赤色にする(3)は赤色 '色は→参照 https://www.helpforest.com/excel/ex_list/ex120002.htm Else: Selection.Font.ColorIndex = 1 End If End Sub Sub FontColorChange2() If Selection.Font.Color = vbBlack Then 'Font.Colorは、「文字色」という意味 'もし、選択しているセルの文字色が黒なら '色は→参照 https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/color-constants With Selection.Font .Color = -4165632 .TintAndShade = 0 '色を水色にする End With Else: Selection.Font.ColorIndex = 1 End If End Sub Sub InteriorColorChange() If Selection.Interior.Color = vbWhite Then 'Interior.Colorは、「背景色」という意味 'もし、選択しているセルの背景色が白なら '色は→参照 https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/color-constants Selection.Interior.ColorIndex = 6 '色を黄色にする(6)は黄色 '色は→参照 https://www.helpforest.com/excel/ex_list/ex120002.htm Else: Selection.Interior.ColorIndex = xlNone End If End Sub Sub InteriorColorChange_Red() If Selection.Interior.Color = vbWhite Then 'Interior.Colorは、「背景色」という意味 'もし、選択しているセルの背景色が白なら '色は→参照 https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/color-constants Selection.Interior.ColorIndex = 3 '色を黄色にする(3)は赤色 '色は→参照 https://www.helpforest.com/excel/ex_list/ex120002.htm Else: Selection.Interior.ColorIndex = xlNone End If End Sub Sub InteriorColorChange2() If Selection.Interior.Color = vbWhite Then 'Interior.Colorは、「背景色」という意味 'もし、選択しているセルの背景色が白なら '色は→参照 https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/color-constants Selection.Interior.ColorIndex = 4 '(4)は黄緑色 '色は→参照 https://www.helpforest.com/excel/ex_list/ex120002.htm ElseIf Selection.Interior.ColorIndex = 4 Then Selection.Interior.ColorIndex = 33 '(33)は水色 '色は→参照 https://www.helpforest.com/excel/ex_list/ex120002.htm Else: Selection.Interior.ColorIndex = xlNone 'セルの背景色を変化させる。0は白色、背景色無しは、xlNone '色コードは、参照 https://www.helpforest.com/excel/ex_list/ex120002.htm End If End Sub Sub InteriorColorChange3() If Selection.Interior.Color = vbWhite Then 'Interior.Colorは、「背景色」という意味 'もし、選択しているセルの背景色が白なら '色は→参照 https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/color-constants Selection.Interior.Color = RGB(217, 217, 217) 'セルの背景色を変化させる(217,217,217)は灰色 '色コードは、参照 https://www.helpforest.com/excel/ex_list/ex120002.htm Else: Selection.Interior.ColorIndex = xlNone End If End Sub Sub InsertSqure() '選択セルのところへ四角オブジェクト(背景色:黄色、文字色:赤、フォント12)を挿入する。 Dim rng As Range Set rng = ActiveCell 'Shapesオブジェクト.AddShape(Type, Left, Top, Width, Height) With rng ActiveSheet.Shapes.AddShape(msoShapeRectangle, .Left, .Top, _ 141.7322834646, 70.8661417323).Select End With With Selection.ShapeRange.Fill .Visible = msoTrue .ForeColor.RGB = RGB(255, 255, 0) .Transparency = 0 .Solid End With With Selection.ShapeRange.Line .Visible = msoTrue .ForeColor.ObjectThemeColor = msoThemeColorText1 .ForeColor.TintAndShade = 0 .ForeColor.Brightness = 0 .Transparency = 0 End With With Selection.ShapeRange.TextFrame2.TextRange.Font.Fill .Visible = msoTrue .ForeColor.RGB = RGB(255, 0, 0) .Transparency = 0 .Solid End With Selection.ShapeRange.TextFrame2.TextRange.Font.Size = 12 End Sub |
コピペしたら、F12キーで名前を付けて保存します。
このとき、ファイルの種類(=拡張子)を「.xlam」としてください。
名前は、「 Application.On.Key 」とします。
拡張子を「.xlam」にすると、自動的に、アドイン専用のフォルダへ格納されます。
※例:C:\Users\owner\AppData\Roaming\Microsoft\AddIns
アドイン専用フォルダのパスは、後でまた使うので、
どこかにメモしておくか、デスクトップにショートカットを作成しておきましょう。
一度、全てのExcelファイルを閉じます。
ふたたび、何でもいいので、Excelファイルを開いてください。
ファイル → オプション → リボンのユーザー設定 → メインタブ → 開発
にチェック入れます。
通常のExcelホーム画面に戻り、
ツールバー → 開発 → Excelアドイン をクリックし、
Application.On.Key にチェックを入れます。
操作は以上です!
次回以降、どのExcelを立ち上げても、
自動的にオリジナルショートカットが有効になります。
もしも、ショートカットを無効にしたい場合は、アドイン専用フォルダの中にある
Application.On.Key.xlamというファイルを削除してください。
※【注意】PCによって、アドイン専用フォルダのパスは変わります。
C:\Users\owner\AppData\Roaming\Microsoft\AddIns
また、自分だけのオリジナルショートカットを作成したい場合は、
Application.OnKey “{F1}”, “PasteValues” の”{F1}”のところを書き換えてください。
“{例:F1}”の中身を書き替えてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
Private Sub Auto_Open() '<マクロ機能の概要> '"[]"の中のキーで、特定のプロシージャーを起動するExcelショートカット拡張マクロです。 'デフォルトでは、ショートカットキーが割り付けられていない機能をピックアップしました。 'Excelアドインに追加して、使用いただくことを想定しています。 'トリガーとなるキーは好きに変更可能です。ご自身の操作しやすい組み合わせに変更してください。 'キーリストはこちらです。→ https://docs.microsoft.com/ja-jp/office/vba/api/excel.application.onkey 'なお、VBA上では、"^(カレット)"= Ctrl, "+(正符号)"= Shift, "~"= Enter, "%"= Alt です。 '<キーの割付一覧> Application.OnKey "{F1}", "PasteValues" '[F1]で数値貼り付け Application.OnKey "{F3}", "PasteFormats" '[F3]で書式貼り付け Application.OnKey "{F5}", "InteriorColorChange" '[F5]で背景黄色 Application.OnKey "+{F5}", "InteriorColorChange_Red" '[Shift+F5]で背景赤色 Application.OnKey "{F6}", "FontColorChange" '[F6]で文字赤色 Application.OnKey "{F7}", "FontColorChange2" '[F7]で文字青色。 Application.OnKey "{F8}", "InteriorColorChange3" '[F8]で背景灰色 Application.OnKey "+{F8}", "InteriorColorChange2" '[Shift + F8]で背景水色、緑色 Application.OnKey "{F9}", "Autofill" '[F9]で、オートフィル機能を実行。 Application.OnKey "{F10}", "FilePassGet" '[F10]でアクティブなワークブックの保存場所を開く。 Application.OnKey "{F11}", "GoalSeak" '[F11]でゴールシーク起動。 Application.OnKey "^+~", "hyperlinks_open" '[Ctrl + Shift + Enter]で、ハイパーリンクを展開。 Application.OnKey "{NUMLOCK}", "" '{NUMLOCK}キーを無効化 Application.OnKey "{INSERT}", "" '{INSERT}キーを無効化 Application.OnKey "^+i", "InsertSqure" '[Ctrl+Shift+I]で、四角オブジェクト(背景黄色,文字赤)を追加する。 Application.OnKey "^+{F11}", "SheetAdd" '[Ctrl+Shift+F11]で、アクティブシートの右側にシート追加。 |
例えば、F1キー単独ではなく、F1キーとShiftキーを同時押しする形にしたい場合、
Application.OnKey “+{F1}” のように” “の中を書き換えます。
この例だと、Shiftキーを表す「+」を追記しています。
このように、拡張機能を発動するためのショートカットキーの組み合わせパターンを
自由自在に設定することが可能です。
ぜひ、自分だけの組み合わせを設定してみてください。
まとめ
いかがでしたでしょうか? ちょっと設定がめんどくさいかもしれませんが、いったん設定しておけば、日々のExcel操作がぐっと楽になるはずです! また、自分なりにショートカットキーの割り当てを変えてみるのも面白いと思います。ぜひ、トライしてみてください。
なお、デフォルトのExcelショートカットはこちらの記事で紹介しています。
最後まで読んでくれてありがとうございます。
それではまた!