Excel VBA質問箱 IV

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

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


24038 / 76732 ←次へ | 前へ→

【58049】Re:VBA 上からの標準グラフの設定方法
質問  L-way  - 08/9/29(月) 18:55 -

引用なし
パスワード
   追加します。

なぜ標準グラフが折れ線等の場合だと期待する結果にならないか、
具体例で説明します。

↓のアップローダにグラフソースのデータをアップしてます。
ht tp://www.uploda.org/uporg1697297.zip.html

このデータのA列のデータをグラフの横軸、
B列のデータをグラフの縦軸に設定します。

グラフ描写のためのソースは以下になります。
-----------------------------------
With ActiveSheet.ChartObjects.Add(gr.Left, gr.Top, gr.Width, gr.Height)
  .Name = "グラフ1"
  .Chart.SetSourceData SourceRange
  .Chart.ChartType = xlXYScatterSmoothNoMarkers
  .Chart.HasTitle = False
  .Chart.HasLegend = False
  .Chart.Axes(Type:=xlValue).HasTitle = True
  .Chart.Axes(Type:=xlValue).AxisTitle.Text = "スペクトル"
  .Chart.Axes(Type:=xlValue).MaximumScale = MaxValue
  .Chart.Axes(Type:=xlValue).MinimumScale = 0
  .Chart.Axes(Type:=xlValue).CrossesAt = 0
  .Chart.Axes(Type:=xlValue).MajorUnit = (MaxValue / 10)
  .Chart.Axes(Type:=xlValue).TickLabels.NumberFormat = "0.0E+00"

  .Chart.Axes(Type:=xlCategory).HasTitle = True
  .Chart.Axes(Type:=xlCategory).AxisTitle.Text = "周波数"
  .Chart.Axes(Type:=xlCategory).MinimumScale = 0.001
  .Chart.Axes(Type:=xlCategory).MaximumScale = 100.1
  .Chart.Axes(Type:=xlCategory).Crosses = xlAxisCrossesMinimum
  .Chart.Axes(Type:=xlCategory).ScaleType = xlScaleLogarithmic
  .Chart.Axes(Type:=xlCategory).LogBase = 10
  
End With

ActiveSheet.ChartObjects("グラフ1").Activate

  With ActiveChart.SeriesCollection(1).Border
    .ColorIndex = 1
    .Weight = xlThin
  End With
-----------------------------------

グラフ描写部のソースは同一なのですが、
標準グラフの設定が「散布図(平滑線)」の場合は、横軸の周波数がちゃんと表示されますが、
標準グラフの設定が「散布図以外」になっていると、横軸が1からの部分しか船が描写されません。

また、線の太さ、色の設定もデフォルトになってしまいます。
-------------------------
    .ColorIndex = 1
    .Weight = xlThin
-------------------------
の部分で設定しているにも関わらずです。

どうしてこうなるか皆目見当が付かないのが、正直なところです。

最初の投稿に書いたように、「標準グラフの設定」を「散布図(平滑線)」に設定すれば、ちゃんとグラフが出るため、
VBA上から標準グラフの設定ができればいいな、と思った次第です。

根本的な解決法(なぜグラフが出ないか)もわかる方がいらっしゃいましたら、
こちらについてもご教授いただければ幸いです。

長文失礼いたしました。
よろしくお願いいたします。

1 hits

【58048】VBA 上からの標準グラフの設定方法 L-way 08/9/29(月) 18:40 質問
【58049】Re:VBA 上からの標準グラフの設定方法 L-way 08/9/29(月) 18:55 質問
【58053】Re:VBA 上からの標準グラフの設定方法 kanabun 08/9/30(火) 1:47 発言
【58063】Re:VBA 上からの標準グラフの設定方法 L-way 08/9/30(火) 19:16 お礼

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