|
> 標準モジュールには、
> 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イベントを使うと良いかもしれません。
ということですね。
|
|