1

「オン」と「オフ」の 2 つの項目を持つカスタム メニューがあります。「オン」項目はアドイン関数を呼び出して、いくつかの機能 (クロスヘア) を開始します。「オン」項目を押した後、選択が変更されるたびに十字線が移動することを確認したいと思います(つまり、セルをクリックすると、対応する行/列が強調表示されます)。したがって、私は何かを実装しWorksheet_SelectionChange()、機能をオンにすると、コードWorksheet_SelectionChange()が何かを実行します。ただし、Worksheet_SelectionChangeワークシート固有であり、クロスヘアを使用する各シートにコードを追加することなく、この機能をシート間で使用したいと考えています。そこで、アプリケーションイベントにたどり着きました。したがって、私は宣言します

Public WithEvents App As Application 

Public Sub Auto_Open()
   Set App = Application
End Sub  

Private Sub App_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
   Call DrawCrossHair(...)
End Sub

Excel から別のアプリケーションをクリックしない限り、すべて問題ありません。それが発生すると、 Auto_Open が各 で呼び出されないため、AppにリセットされNothing、呼び出されません。このアプリのリセットを防ぐにはどうすればよいですか? または、達成したいことに対して間違ったツール (アプリ イベント) を使用していますか?App_SheetSelectionChange"Excel_getFocus"

どうもありがとう、ダニエル

4

0 に答える 0