すぐに役立つエクセルVBAマクロ集 すぐマク
すぐに役立つ Excel VBA マクロ集 Excel VBA Macro
FAQ
Google
 
Home |  What's New! |  Gallery |  Introduction |  Service |  Profile 500連発・組み方講座フォロー Big Color Pallet
[広告]
Excel VBA Macro
Excel DownLoad
© 1997 - 2008
永井善王.
All RightsReserved.
HappyTech & Co., Ltd.
www.happy500z.com
Excel VBA Macro ・ その他 ・ FAQ
任意のセルをクリックすると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イベントを利用すればできるでしょうが。