質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

1377閲覧

Excel VBA グラフ要素の色を変更する

mochinn

総合スコア13

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2017/11/30 06:44

編集2017/11/30 07:16

Excel2016です。

棒グラフにセルの値でラベルを設定しています。
特定のラベルだった場合に棒の色を変更したいのですが、うまく動きません。

VBA

1Dim I As Integer 2Dim dur As Variant 3 4With Sheets("Test Graph").ChartObjects(1).Chart.SeriesCollection(1) 5 dur = .DataLabel.Text 6 For I = 1 To UBound(dur) 7 If dur(I) = "Excellent" Then 8 .Points(I).Interior.ColorIndex = 3 9 End If 10 Next I 11End With 12End Sub

Withの行で「アプリケーション定義またはオブジェクト定義のエラーです」となります。

ラベルの取得のあたりが違うように思うのですが、直し方がわかりません。
御教授頂けると大変助かります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ttyp03

2017/11/30 06:52

どこの行で何のエラーが発生するのか記載いただけると解決が早いと思いますよ。
mochinn

2017/11/30 07:10

ありがとうございます。情報が不足しておりすみません。質問に追記します。
guest

回答1

0

ベストアンサー

2010環境ですが、単純に棒グラフを作って動作させてみてもWithの行でエラーは発生しませんでした。
「アプリケーション定義またはオブジェクト定義のエラーです」が出ているようですから、
Sheets("Test Graph")
Sheets("Test Graph").ChartObjects(1)
Sheets("Test Graph").ChartObjects(1).Chart.SeriesCollection(1)
のいずれかが存在しないことになります。
グラフがあればCharObjectsはありそうなので、そうなるとシート名が違うのでしょうか。
確認してみてください。

ただWithの行が解決できても、その次の行からはエラーが多発しますので、次のように書き換えてみました。
ただし、これで要件を満たしているかはわかりませんので、参考程度に考えてください。

VBA

1With Sheets("Test Graph").ChartObjects(1).Chart.SeriesCollection(1) 2 .HasDataLabels = True 3 For I = 1 To .DataLabels.Count 4 If .DataLabels(I).Text = "Excellent" Then 5 .Points(I).Interior.ColorIndex = 3 6 End If 7 Next 8End With

投稿2017/11/30 07:43

ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mochinn

2017/11/30 08:00

確かにSheetsの指定が間違っている気がします。 通常のWorksheetでなく、グラフシートなのですが、その場合オブジェクトの指定方法は変わってくるのでしょうか?
ttyp03

2017/11/30 08:08

グラフシートの場合は、SheetsではなくChartsになるようですね。 なので、Withの行は、こうなります。 With Charts("Test Graph").SeriesCollection(1)
mochinn

2017/11/30 08:28

御教授頂いた内容で、うまく想定通りの動作をするようになりました。 短時間で解決して感謝です。ありがとうございました!!!!
ttyp03

2017/11/30 08:29

手探りでの回答でしたが、解決できたようでよかったです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問