ノリックのIT生産性向上、ライフハック、プロマネのお仕事備忘録

IT系の仕事の事とか役立つツールとかプロジェクトマネジメントの事とかを記載していきます。

エクセルのショートカット 行選択ができない状態をAutohotkeyで回避する

Autohotkeyで行選択をショートカットキーで安定化させる。

エクセルで行選択するときに使うショートカットキーはShift + Spaceキーです。 ただ、日本語入力がONの状態だとショートカットが効いてくれません。 以下のページでもその解説がありました。 forest.watch.impress.co.jp

ただ、この設定をするとExcel以外のアプリで日本語入力時に半角スペースを入力しようとしてShift+Spaceを押しても半角スペースを入力してくれません。ということでExcelだけ動作するようにしたいのですが、IMEではそのようなことはできないので、AutoHotKeyでスクリプトを作りました。エクセルがアクティブな時のみもしIMEがONのときは、IMEをOFFにしてからShift+Spaceキーを押すようにします。

;エクセルの処理
#IfWinActive , ahk_class XLMAIN
{
;エクセルでIMEの制御を考慮した行選択
<+Space::  
getIMEMode := IME_Get()  
if (%getIMEMode% = 0)  
{  
    
    Send,+{Space}
    return  
}  
else  
{  
    IME_SET(0)
    Sleep 30
    Send,+{Space}
    Sleep 30
    IME_SET(1)
    return  
}  
Return

#IfWinActive        
}

行選択が安定したら更に捗る作業

これが安定してできるとエクセルの行挿入やコピーした行の挿入がたいへん捗る

行挿入

  1. Shift+Space で行を選択
  2. Shiftを押しながら↓矢印キーで必要な行数を選択
  3. Ctrlを押しながらテンキー(キーボードの右端にある数字が並んだ場所)の+(プラス)で行挿入

コピーした行の挿入

  1. Shift+Spaceでコピーしたい行を洗濯
  2. Shiftを押しながら↓矢印キーで必要な行数を選択
  3. Ctrlを押しながらテンキー(キーボードの右端にある数字が並んだ場所)の+(プラス)でコピーした行の挿入になる。

列選択も同じ要領でショートカットキー

列選択はShift + SpaceではなくてCtrl + Spaceになるだけだ。ただ、これについてはAutohotkeyでスクリプトを組まなくても安定して選択してくれる。

まとめ

エクセルをプロジェクタに移しながら会議するときには、その人のエクセルスキルが全員の目にさらされる。もたもたしていると仕事ができないやつという烙印を押されかねない。会議するときにはノートPCなのだが、私は普段の操作性を会議中も発揮したいため、ワイヤレスキーボードを持っていく。それで普段どおりショートカットを駆使して仕事ができる人に思われるのは快感です。

以上です。