プロが教える店舗&オフィスのセキュリティ対策術

株価グラフを、セル範囲に合わせて横に3個並べて表示させています。
同時に凡例非表示などの条件を設定していますが
 1.ローソクの幅(太さ)を広くしたい
 2.背景を着色したい
この2つの設定が出来ません。何回か挑戦しましたがエラーの壁にはじき飛ばされて
困っています。是非、教えて下さい。

(Win7、エクセル2010)
For I = 1 To 3
With ActiveSheet.ChartObjects.Add(Left:=Cells((I - 1) * 4 + 1).Left, _
Top:=Cells(3, 1).Top, Width:=xSize(2), Height:=ySize(2))
With .Chart
.SetSourceData Source:=GFDB(4, I), PlotBy:=xlColumns
.ChartType = xlStockOHLC '-------------株価グラフ
.HasLegend = False '---------------------凡例非表示
.HasAxis(xlValue) = False '-------------Y軸(数値軸)非表示
.HasAxis(xlCategory) = False '---------X軸(項目軸)非表示
End With
End With
Next I

A 回答 (3件)

見落としていました。



        .DownBars.Format.Fill.ForeColor.RGB = RGB(128, 0, 0) ' 陰線の塗り潰し色 赤系

> 陰線の塗り潰しを黒以外で指定する方法は、

見つけいたのを忘れていました。

> 陰陽線(枠を除く)の幅を指定する方法は、

間接的には出来るみたいですが、直接の方法はやっぱり解りません。

それでは、ここら辺で、、、。
    • good
    • 0

#1cjです。

補足拝見しました。

ロウソクを「陰陽線」と「ヒゲ」に分けて説明します。

通常は、
  始値よりも終値の方が高い場合=陽線(白ヌキ)
  始値よりも終値の方が安い場合=陰線(黒ヌリ)
として表示される訳ですが、
陽線の白ヌキを他の色でヌクことは出来ても、
陰線の塗り潰しを黒以外で指定する方法は、私には見つけられません(出来るのか解りません)。

ヒゲの太さを指定することは出来ても、
陰陽線(枠を除く)の幅を指定する方法は、私には見つけられません(出来るのか解りません)。

もし、そういったことを知りたい、ということでしたら、
それに特化した形で別途質問を建ててみれば識者の回答が得られるのかも知れません。

差し当たり、
> 何故か、ローソク全体が黒塗りになってしまいます。
まず、チャートタイプにxlStockOHLCを指定している訳ですから、
  始値 高値 安値 終値
4つの項目を正しい順番で作表出来ているかを一応確認してください。
もしも、始値=高値、終値=安値、で下がり続けていれば、陰線しか表示されませんから、
その場合全体が黒塗りになるのは正常です。
それ以外で、ヒゲの色を黒以外で指定しているにも係らず、
ヒゲが黒く塗りつぶされているのだとしたら、よく解りませんが、それは異常ですね。

陰陽線枠色、陽線のヌキ色、の指定方法を追記しておきます。

    With .Chart
      .SetSourceData Source:=GFDB(4, i), PlotBy:=xlColumns
      .ChartType = xlStockOHLC '-------------株価グラフ
      .HasLegend = False '---------------------凡例非表示
      .HasAxis(xlValue) = False '-------------Y軸(数値軸)非表示
      .HasAxis(xlCategory) = False '---------X軸(項目軸)非表示
      .ChartArea.Format.Fill.ForeColor.RGB = RGB(204, 204, 255) ' ChartArea背景色 薄青
      .PlotArea.Format.Fill.ForeColor.RGB = RGB(255, 204, 204) ' PlotArea背景色 薄赤
      With .ChartGroups(1)
        .HiLoLines.Format.Line.Weight = 3 ' ヒゲ 太さ
        .HiLoLines.Format.Line.ForeColor.RGB = RGB(32, 32, 255) ' ヒゲ色 青系
        .UpBars.Format.Line.ForeColor.RGB = RGB(32, 32, 255) ' 陰陽線枠色 青系
        .UpBars.Format.Fill.ForeColor.RGB = RGB(255, 255, 32) ' 陽線のヌキ色 黄色系
      End With
    End With
    • good
    • 0

こんにちは。



    With .Chart
      .SetSourceData Source:=GFDB(4, i), PlotBy:=xlColumns
      .ChartType = xlStockOHLC '-------------株価グラフ
      .HasLegend = False '---------------------凡例非表示
      .HasAxis(xlValue) = False '-------------Y軸(数値軸)非表示
      .HasAxis(xlCategory) = False '---------X軸(項目軸)非表示
      .ChartArea.Format.Fill.ForeColor.RGB = RGB(204, 204, 255)
      .PlotArea.Format.Fill.ForeColor.RGB = RGB(255, 204, 204)
      .ChartGroups(1).HiLoLines.Format.Line.Weight = 5
      .ChartGroups(1).HiLoLines.Format.Line.ForeColor.RGB = RGB(32, 32, 255)
    End With

みたいなことでしょうか
特別詳しい訳ではないので解説は控えます。
色々書き換えたりして試してみれば解ると思いますので、、、。

とりあえず、以上です。

この回答への補足

cj_moverZさん ご回答ありがとうございました。
さっそく試してみました。結果、背景色と、ローソクの幅については
良好でしたが、何故か、ローソク全体が黒塗りになってしまいます。
でも、これで十分です。ありがとうございました。

補足日時:2014/11/01 08:15
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!