ExcelのVBAを利用した、セルポインタのジャンプ(1)

 

Excelで、アンケートの回答などを入力することがあります。

 

CellPtrJump1.jpg

 

このようなケースでは、[ツール]メニューの[オプション]で、セルポインタの移動方向

を、「右」にしておくと便利です。

 

CellPtrJump2.jpg

 

 

しかしながら、それだけでは、G列を入力したあとが問題となります。

つまり、次に入力したセルは、1行下のB列。 そのセルにどうやって移動するかが、

入力の効率を大きく左右するのです。

 

基本的には、方法は3つ。

 ・カーソル移動キーを使う

 ・マウスを使う

 ・シート保護を利用する

  (シート保護を使うやり方は、わたくしの趣味に合わないので割愛します)

 

効率を追求するなら、マウスを使うのは最低限に押さえたいところです。 しかし、

カーソル移動キーでは、最低3個のキーを押さなくてはなりません。

 

そんな時には、マクロを使うと便利です。

ということで、次のようなVBAマクロを作ってみました。

 

 

「黒のセルにセルポインタが移動すると、セルポインタを次行のB列にジャンプする」

 

というものです。 たとえば、下図でセルG3に入力すると、セルポインタは自動的

に、セルB4に移動するわけです。

 

CellPtrJump3.jpg

 

 

さて、どんなマクロかと言うと、コードはいたって簡単、たった3行のプログラムです。

 

次のプログラムをSheet1のモジュールに記述するだけです。

 


Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If ActiveCell.Interior.ColorIndex = 1 Then
        Cells(ActiveCell.Row + 1, 2).Select
    End If

End Sub


 

あとは、セルポインタを跳ね返したい列のパターンを、カラーインデックス1(黒色) 

にしておけば、次行の2列目にジャンプするようになります。