エクセルで、巨大な表に、○×△や、OK,NGなどを記入してゆく場合があります。
同じものが続くときは、フィルハンドルを使ったりコピペでよいのですが、頻繁に変わる場合は、コントロールキー + e( Ctrl + e )などのショートカットキーを押すと、トグルで変わってくれるとありがたいですね。
そんなときはVBAのマクロを書いて、そのマクロにショートカットキーを割り当てます。
空白 → ○ → △ → × → 空白のトグルマクロ
Sub ToggleMark()
Dim dd As String
dd = ActiveCell.Value
Select Case dd
Case "": dd = "○"
Case "○": dd = "△"
Case "△": dd = "×"
Case "×": dd = ""
End Select
ActiveCell.Value = dd
End Sub
マクロにショートカットキーを割り当てる手順
- 「開発」タブをクリック
- リボンの「マクロ」をクリック
- 「マクロ」のダイアログが表示
- 所望の関数を選択
- 「オプション」をクリック
- 「マクロオプション」ダイアログが表示
- 「ショートカットキー」に割り当てたいキー(
eなど)を入力 - 「OK」をクリック
Shiftを組み合わせることも可能(大文字の場合)です。すでに登録してあるショートカットキー( Ctrl+c や Ctrl+v など)は上書きされてしまうので、割り当てない方がよいです。
VBAコード内にショートカットキーを埋め込む方法( Ctrl + e の場合)
Application.MacroOptions Macro:="ToggleMark", ShortcutKey:="e"
Application.OnKey "^e", "ToggleMark" という方法もありますが、開いているエクセル全部に影響するので、あまりおすすめしません。用途を考慮して使ってください。
2021/06/12