Excel VBA質問箱 IV

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

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


10009 / 13644 ツリー ←次へ | 前へ→

【24232】グラフについて miyake 05/4/16(土) 12:49 質問[未読]
【24234】Re:グラフについて Kein 05/4/16(土) 13:41 回答[未読]
【24235】Re:グラフについて miyake 05/4/16(土) 14:31 質問[未読]
【24246】Re:グラフについて ウッシ 05/4/16(土) 22:31 発言[未読]
【24256】Re:グラフについて miyake 05/4/17(日) 21:34 質問[未読]
【24283】Re:グラフについて Jaka 05/4/18(月) 15:27 回答[未読]

【24232】グラフについて
質問  miyake  - 05/4/16(土) 12:49 -

引用なし
パスワード
   いつもお世話になっております。グラフについて質問があります。
たとえばSheet1にグラフを一つ作成した場合、そのグラフの名前をabcにする場合、
worksheets("Sheet1").chartobjects(1).name="abc"
として定義するとします。
ここで
msgbox worksheets("Sheet1").chartobjects(1).name
とすると、abc と確認できますが、
msgbox activechart.name
とすると、違う名前が表示されます。

chartobjects(1)とactivechartでは、どこがちがうのでしょうか。
ご教示願います。

【24234】Re:グラフについて
回答  Kein  - 05/4/16(土) 13:41 -

引用なし
パスワード
   ちょっとややこしいのですが、ChartObject は "Chart" のコンテナであり
worksheets("Sheet1").chartobjects(1).name はそのコンテナの名前、
ということになりますが、ActiveChart は Chartobject の選択された "Chart"
オブジェクトを返すので、ActiveChart.Name とすれば"Chart"オブジェクト
(ChartObjectのプロパティの一つ)の名前、ということになるかと思います。
その違いでしょうね。

【24235】Re:グラフについて
質問  miyake  - 05/4/16(土) 14:31 -

引用なし
パスワード
   ▼Kein さん:
ご説明ありがとうございます。
今私が作っているグラフを印刷プレビューでみると、シートの上部に先ほどのactivechart.nameが表示されます。
この名前を任意の名前に変更するにはどうしたらいいのですか。

【24246】Re:グラフについて
発言  ウッシ  - 05/4/16(土) 22:31 -

引用なし
パスワード
   こんばんは

グラフを印刷プレビューで見た時の、シートの上部に表示されるのは
>Worksheets("Sheet1").ChartObjects(1).Chart.ChartTitle.Caption = "abc"
こちらではないのでしょうか?

【24256】Re:グラフについて
質問  miyake  - 05/4/17(日) 21:34 -

引用なし
パスワード
   私が困っていた現象、たとえば、Sheet1に埋め込みグラフを作成し印刷プレビューで見ると、グラフ枠外の上に[ activechart.Name ](具体的には、Sheet1 + グラフ x)xはグラフの作成数) が表示され、下に[ page1 ]と表示されていました。activechart.Nameとはシート名とそのブックで作成したグラフの数になるのですかね。ところが、いろいろといじくっていくうちに表示されなくなりました。なぜだか分かりませんが。
私が現在作っているものは、sheet1にソースとなる表があり、コマンドボタンを押すとsheet2にグラフが作成できるように作っています。その際グラフに名前を定義し、sheet2からsheet1に戻る時に定義した名前のグラフを削除しています。グラフに名前を付ける場合、worksheets("Sheet2").ChartObjects(1).Name = "testchart"といった感じだと思いますが、activechart.nameを取得すると上記の名前が出てきます。グラフを作るごとにxの数が増え続けています。(現在200くらい)これをクリアにする方法はあるのでしょうか。

【24283】Re:グラフについて
回答  Jaka  - 05/4/18(月) 15:27 -

引用なし
パスワード
   こんにちは。
こんな感じにしてみたらどうでしょうか?

Sub Macro3()
  Dim gurafu As Object
  Charts.Add
  ActiveChart.ChartType = xlColumnClustered
  ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A1:E16")
  ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet7"
  Set gurafu = ActiveChart.Parent
  MsgBox gurafu.Name
  gurafu.Delete
End Sub

>グラフを作るごとにxの数が増え続けています。(現在200くらい)これをクリアにする方法はあるのでしょうか。
ブック内全てのシート上のコントロールボタン類、フォームボタン類、図形類全てを消してから上書き保存すれば1に戻るようです。

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