任意のセルをクリックすると1を加えるようにするには?

Question 1.2/span> Previous Next
任意のセルをクリックすると、1を加えるようにしたいのです。ボタンをつかわないで、本当はロータスのほうで、やりたかったのですが
Answer   Copyright (C) 1998.2.15 永井善王
私はこれについてあまり知らなかったので、一応調べた結果を十分ではないかも知れませんがご回答します。
エクセル95 VBAでは、マウスがクリックされた時に動作するイベントプロシージャは、作れないのではないでしょうか?

OnEntryプロパテイを使って次のように作ると、一応似たような動作をするけど、何かキー(スペースでもよいが)を押してから、他のセル上に マウスを移動させて押す必要があり、何もキーを押さないで、他のセル上でマウスを押してもイベントは発生しません。
     Sub どれかのキーを押してからマウスをクリックすると()
         ActiveWorkbook.Worksheets("Sheet1").OnEntry="1を加える"   '(注)
     End Sub
Sub 1を加える() Cells(1,1).Value=Cells(1,1).Value+1 'A1セルに1を加える End Sub
上記の(注)の1行をAuto_Openプロシージャに組み込んでおけば、ブックを開けば機能するようになります。
なお、この他の方法としては、ChangeかSelectionChageを利用する方法があるそうですが、TAB、矢印キーでもイベントが発生してしまいます。 VBのMouseDownイベントやMouseUpイベントを利用すればできるでしょうが。

 

Excel VBA Macro