次の方法で共有

ExcelのVBAでグラフのタイトルを設定しようとすると、エラーが発生してしまいます。

Anonymous
2011-08-02T08:45:34+00:00

Excel2007のVBAを使ってグラフシートを追加してグラフは作成できたのですが、グラフのタイトルの設定でエラーが発生してしまいます。

コードの抜粋です。

Charts("集計グラフ").HasTitle = True

MsgBox Charts("集計グラフ").HasTitle

Charts("集計グラフ").ChartTitle.Text = "集計"

2行目は確認用です。

2行目にブレークポイントを設定して実行します。2行目で止まったところで次の2件をウオッチすると

Charts("集計グラフ")

Charts("集計グラフ").HasTitle

Charts("集計グラフ")のHasTitleはFalse

Charts("集計グラフ").HasTitleはTrue

になっています(なぜFalseとTrueになるのも分かりません)。

ステップインで1行進めるとメッセージボックスにはTrueが表示されます。

メッセージボックスを閉じてウオッチを確認すると、2つともFalseになっています。

Falseになってしまうため3行目でエラーが発生します。

どう直せば良いか教えて頂ければと思います。

宜しくお願いします。

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2011-08-02T13:05:24+00:00

VBAでグラフを扱ったことがありませんので、良くわかってません・・・・

下のコードはA1~A3に入ったデータを棒グラフにするだけのものですが、

オブジェクトにXXXXと名前を付け、タイトルが入りました。

HasTitleプロパティの代わりにApplyLayout(1)でHasTitleをコメントアウトしても同様に動くようです。

Sub aaa()

    With ActiveSheet.Shapes.AddChart

      .Name = "XXXX"

      With .Chart

        .ChartType = xlColumnStacked

        .SetSourceData Source:=ActiveSheet.Range("$A$1:$A$3")

        '.ApplyLayout (1)

        .HasTitle = True

        .ChartTitle.Text = "グラフですよ"

      End With

    End With

End Sub

回答になっているかどうか定かではありませんが、参考まで。

この回答は役に立ちましたか?

2 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2011-08-03T02:41:21+00:00

    y sakudaさんありがとうございます。

    説明不足でしたが、今回グラフはシートに埋め込むグラフでなく、グラフシートのグラフなので、y sakudaさんのコードを参考にして、次のようにしたら、タイトルが入りました。

    Sub bbb()

    With Charts.Add

    .Name = "グラフ"

    .ChartType = xlColumnStacked

    .SetSourceData Worksheets("sheet1").Range("$A$1:$A$3")

    .HasTitle = True

    .ChartTitle.Text = "グラフですよ"

    End With

    End Sub

    そして、理由が解りませんが、不具合が起きたコードも確認したら、エラーが発生しなくなっていました。

    コードの問題ではなくパソコン側の問題だったのか、パソコンの電源を落としたことが良かったのか、原因は不明ですが、解決しました。

    y sakudaさん始めお時間を頂いたみなさんにお礼申し上げます。

    ありがとうございました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません