|    | 
     > 標準モジュールには、 
> Sub 追加削除時刻取得() 
>  
>  ActiveSheet.ChartObjects.Select 
>   
>  Set cht_class = New Class1 
>  Set cht_class.cht = ActiveChart 
>End Sub 
 
提示の標準モジュールコード、ぼくのVBEでは 
モジュールの先頭に 
Option Explicit 
(変数はいつも宣言してから使う)が宣言してあったため 
どのバージョンのExcelでも動きません。 
 
とりあえず、次のように直したら、 
'---------------------------標準モジュール 
Option Explicit 
Dim Cht_Class As Class1 
 
Sub 追加削除時刻取得() 
  'ActiveSheet.ChartObjects.Select 
  Set Cht_Class = New Class1 
  Set Cht_Class.Cht = ActiveSheet.ChartObjects(1).Chart 'ActiveChart 
End Sub 
' 
Sub Release_ChtClass() 
  Set Cht_Class = Nothing 
End Sub 
'---------------------------- 
XL2007を除いて走るようになりました。 
      Class1 
XL2002   ○ 
XL2003   ○ 
XL2007   × 
XL2010   ○ 
 
2007でダメなのは nさんのおっしゃるように、 
> 2007は系列クリックでcht_MouseUpイベントが利かないようですね。 
またも2007のバグですか!? もう、うんざりですね〜 
 
こちらが提示した Class2 は上記どのバージョンでも動きます。 
      Class2 
XL2002   ○ 
XL2003   ○ 
XL2007   ○ 
XL2010   ○ 
 
ただ、Selectイベントを使ってるので、 
系列全体を選択後、目的の要素をClickする2Action必要になります。 
 
> もし1クリックで済ませたい場合は変わりに 
> cht_MouseDownイベントを使うと良いかもしれません。 
 
ということですね。 
 | 
     
    
   |