下記の質問をHPよりいただきました。
※改行位置、文章一部変更
>現在、EXCELの横棒グラフを駆使して、
>生産の進捗具合を管理するガントチャート風を作ろうとしております。
>
>そこで考えましたのは、人間がセルに数値を入力するのではなく、
>予め用意された横棒グラフのその中の1つの横棒をクリックして、
>
>これも予め用意したユーザーフォームのボタンをクリックすると
>その横棒グラフが伸びたり、縮んだり、
>左右に動いたりするようにしようと思いました。
>
>そこで、SERIESオブジェクトかPOINTオブジェクトに
>その1つの横棒がどの単一セルを参照しているかを返す
>プロパティやメソッドからRANGEオブジェクトを取得し、
>
>そのセルの値を変えてやればいいだろうと目論んでいましたが、
>系列全体を返すプロパティ(SERIESオブジェクトのFORMULA)はあっても、
>
>単一セルを返すようなプロパティやメソッドは見当たらず
>途方に暮れてしまいました。
>
>途中までは作成しておりそれさえクリアできれば完成します。
>
>どうにか、それを実現できる方法はないでしょうか?
VBA グラフ イベントで検索すると、
いろいろなページがヒットします、
そのなかから、下記の二つを参考にしてみました。
埋め込みグラフでイベントを使用する
https://msdn.microsoft.com/ja-jp/library/office/ff194070.aspx
と
Chartでイベント処理を行う-指定位置のグラフ要素を取得するには
(Excel 97/2000)
http://www.moug.net/tech/exvba/0020010.html
を参考にして、テストコードを作成してみました。
下記、いつもの試行錯誤の酔っ払いテスト動画です。
Chart グラフ イベント #WithEvents As Chart _BeforeDoubleClickのテスト#Excel #VBA エクセルでグラフ要素がクリックされたら処理を行いたい - YouTube
www.youtube.com
コードは、
シートにグラフ処理のイベントを書いてみたそんなテストです
Option Explicit '埋め込みグラフでイベントを使用する 'https://msdn.microsoft.com/ja-jp/library/office/ff194070.aspx 'を参考にして、↓WithEventsでイベントを取得 Public WithEvents myChartClass As Chart '初期化のタイミングがわからなかったので、 'シートがアクティブになった時に、 'WithEvents myChartClass に グラフを代入して イベントで使用してみた Private Sub Worksheet_Activate() Set myChartClass = ActiveSheet.ChartObjects("グラフ 1").Chart End Sub 'Chartでイベント処理を行う-指定位置のグラフ要素を取得するには '(Excel 97/2000) 'http://www.moug.net/tech/exvba/0020010.html 'を参考にして 要素と値をメッセージボックスでテスト表示 'グラフのダブルクリックのイベントを使用 Private Sub myChartClass_BeforeDoubleClick(ByVal ElementID As Long, _ ByVal Arg1 As Long, _ ByVal Arg2 As Long, _ Cancel As Boolean) Dim Var As Variant Dim Msg As String Select Case ElementID '定数値の詳細はヘルプを参照 Case xlSeries 'データ系列 'GetChartElementの第五引数に格納された情報(ここではPointIndex) 'をもとにSeriesオブジェクトから項目名と値を取得 Var = ActiveChart.SeriesCollection(Arg1).XValues Msg = "要素:" & Var(Arg2) Var = ActiveChart.SeriesCollection(Arg1).Values Msg = Msg & vbCrLf & "値:" & Var(Arg2) MsgBox Msg Case Else 'その他の処理 End Select End Sub
↑これだと、セルの場所が直接わかりませんが、
要素の名前がわかるので、
場所を特定できると良いのですが。
※うまく、既存のシステムに組み込み・応用できると良いのですが。
解決の糸口となれば幸いです。 三流プログラマー Ken3
関連記事と動画(2022/05/11追記)
ken3memo.hatenablog.com