セルを選択しているか確認する

VBAで処理中を行う際に、今何を選択しているのかが知りたいことがあります。

セルの値を扱うVBAが多くなるとは思いますが、場合によってはオートシェイプをたくさん利用しているシートもあります。

そのような場合に、オートシェイプを選択したままの状態では処理を続行できないことがあります。

コード

以下のコードはセル以外が選択されている場合の判定に使用します。

このisCell関数単体で何かを行うのではなく、他の処理でセルが選択されているかどうかの判定が必要な場合に利用します。

 

利用方法

以下が利用例になります。

ボタンを押して行の高さを変える処理を例にします。

ボタンが3つあるフォームを用意して、それぞれのボタンの名前をcmd0x、cmd1x、cmd2xという名前にします。

それぞれのボタンの処理から行の高さを変えるSetRow関数を呼びます。

そのSetRow関数でセルが選択されているかの判定に前述の関数を呼び出しています。

セルが選択されていない場合は行の高さを変えません。

セルが選択されている場合は行の高さを変えます。