みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

【EXCELVBA】バブルチャート色マクロについてご教授お願いします

以下、お助けいただけたら幸いです!!
バブルチャートの色を変えるマクロに悩んでおります。
具体的にコードをどうしたらいいのか 歯が立ちません。

■どんなマクロを作成したいのか?
 →既に作ってあるバブルグラフの”グラフの色を変える”マクロ
【元データ表】
A列:県名、B列:X値、C列:Y値、D列:バブルの大きさの値
【既にあるグラフ】
 データ系列:列
 X値:B2:B85、Y値:C2:C85
 サイズ:D2:D85
★今回は”85”ですが 範囲はそれ以上それ以下のときもあります

■問題点
データ数は80個以上。
→★エクセルの色は56色なので56個超えるとエラーになる
→★色番号をバブルのカウントと対応させ1から指定すると黒など原色が出てしまう。淡い色にしたい

■変えたい点:
 色番号20番~50番まえを繰り返し使いたい

投稿日時 - 2007-05-27 10:20:51

QNo.3034101

すぐに回答ほしいです

質問者が選んだベストアンサー

アルゴリズムが思いつかないだけと見受けましたので、あえて説明無しのコードだけで。
(全角スペースは半角に変換ください)
Sub PntClr()
Dim l As Long
Dim NoPnt As Integer
Dim CI As Integer
  Application.ScreenUpdating = False
  l = 1
  CI = 20
  With ActiveChart.SeriesCollection(1)
  NoPnt = .Points.Count
    Do While l < NoPnt
      If CI = 50 Then CI = 20
      .Points(l).Interior.ColorIndex = CI
      l = l + 1
      CI = CI + 1
    Loop
  End With  
  Application.ScreenUpdating = True
End Sub

投稿日時 - 2007-05-28 23:54:27

お礼

そのものです!! できました
厚かましい質問にご丁寧な回答 本当に助かりました!!
具体的に自分が書いていたコードを書かずに申し訳ございません。

考えたのですがどうしてもわからなかったのです。

項目のラベル、判例を無くす、
など自分なりにコードを書いたのですが色となるとはたしてどう反映させたらいいのか行き詰まりました。
そうです 
構文の基は”Do While”なのだ、
という初心者ではあっても
その見当はついたのですが どうやってやるのかがわからなかった

If CI = 50 Then CI = 20
      .Points(l).Interior.ColorIndex = CI
      l = l + 1
      CI = CI + 1
ここが特に勉強になりました。
なるほどです。

投稿日時 - 2007-05-29 20:30:15

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問