Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


13866 / 76734 ←次へ | 前へ→

【68370】Re:指定位置のグラフ要素を取得するが2007で動かない
発言  kanabun  - 11/2/28(月) 9:20 -

引用なし
パスワード
   > 標準モジュールには、
> 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イベントを使うと良いかもしれません。

ということですね。
1 hits

【68365】指定位置のグラフ要素を取得するが2007で動かない eyuka 11/2/27(日) 13:25 質問
【68366】Re:指定位置のグラフ要素を取得するが2007... kanabun 11/2/27(日) 20:27 発言
【68367】Re:指定位置のグラフ要素を取得するが2007... eyuka 11/2/27(日) 21:34 質問
【68368】Re:指定位置のグラフ要素を取得するが2007... kanabun 11/2/27(日) 21:56 発言
【68369】Re:指定位置のグラフ要素を取得するが2007... n 11/2/27(日) 22:24 発言
【68370】Re:指定位置のグラフ要素を取得するが2007... kanabun 11/2/28(月) 9:20 発言
【68376】Re:指定位置のグラフ要素を取得するが2007... eyuka 11/2/28(月) 15:45 お礼

13866 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free