質問: エクセルでctrl+左クリックで複数選択 エクセルで、ctrlキーを押しながら、マウスで左クリックを押して複数のセル範囲を選択することがよくあるのですが、この方法では、間違えて選択しても、やり直しが効かず、一旦全部をキャンセルしてから再度選択しなおすしかありません。(一部のキャンセルをする方法をご存知の方は教えてください)で、vbaで、同様の機能を作ろうかと考えています。できれば、左手を開けたいのでctrlキーの代わりに、シートにトグルボタンを貼り付け、ボタンを選択している間は、ctrlキーを押しているのと同じと認識させ、セルがクリックされるたびに、selectionのコレクションのメンバーと紹介して、既に選択されているセル(range)を再びクリックしたならば、メンバーから除外する。てなことができれば実現可能かと思いました。そこで、selectionのメンバーって自由に追加したり、削除したりできるのでしょうか?どなたか、詳しい方がいらっしゃいましたら教えて頂けないでしょうか?よろしくお願いいたします。
回答: 一部のキャンセルをする方法について、 別件の回答をそのまま紹介します。 途中でセル選択を間違ったときの修正方法について、お教え しましょう。例えば、セルa1, b2, c3, d4, e5を選択する 場合、a1, b2, c3までは正しく選択、しかし、d4を選ぶときに 誤ってg7で[ctrl]+クリックしてしまったら...[ctrl]+[z]や [esc]も効きませんし、再度g7をクリックしても意味が ありません。みなさん、諦めていませんか。ちょっとした 方法があるのです。 誤ってg7をクリックした後、 1. [shift]を押しながら正しいセル(d4)をクリック 2. [ctrl]+[.]を何回か押す(今回の場合は2回) 3. [shift]+[矢印]キーで選択範囲を変更 箇条書きで書いても理解できないと思いますので、実際に 試してください。ここでのキーポイントは、[ctrl]+[.]と いうショートカットキー。アクティブセルが選択範囲の四隅を 移動するショートカットキーです。 適当なセル範囲(例えば、f6:j10)を選択した後、[ctrl]+[.]を 何回か押せばその動きが理解できるでしょう。この動きを 利用して選択範囲を変更するのです。 ----------------------------------------------------------------