今回は連日投稿中のタスク管理ツール以外でもすぐに使える簡単なものです。
また、Call文(他のプロシージャを呼び出す)に値渡しを使ってコードの集約ができる簡単な例としてもご参考にしていただければと思います。
ちなみにこちらの記事で紹介したExcelタスク管理ツールの補助機能としてももちろんご利用いただけます。
はじめての方はまずはこちらの記事をどうぞ。
yoshino-ya.hatenablog.com
それでは本題です。
概要
インデント上げ下げ(そのままやん)
C,J列以外は通常のTab動作(セル移動)にする
この仕分けが不要な方はSub インデント(上げ下げ As Integer)
内のIf
~End
に関してSelection.InsertIndent 上げ下げ
だけ残して他はまるごと削除して下さい
やること
標準モジュールへコードをコピペする
Alt+F11でVBEを開く
挿入→標準モジュールを押すショートカット割当
ショートカット割当方法はこちらをどうぞ
ショートカットの割当例
キー1 | キー2 | キー3 | 動作 |
---|---|---|---|
{TAB} | インデント下げ | ||
Shift | {TAB} | インデント上げ |
コード
Option Explicit Sub インデント下げ() Call インデント(1) End Sub Sub インデント上げ() Call インデント(-1) End Sub Sub インデント(上げ下げ As Integer) On Error Resume Next With ActiveCell If .Column <> 3 And .Column <> 10 Then 'C,J列以外は通常のTab動作(セル移動)にする .Offset(0, 上げ下げ).Select Else Selection.InsertIndent 上げ下げ End If End With End Sub
以上です。
冒頭で、「ご参考に」などと偉そうに申し上げましたが、人に渡す工程を踏むことで僕自身のスキルアップになった良い例だなーと思います。この仕組みは他でも大いに使えそうです。