Excel VBA質問箱 IV

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

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


24034 / 76732 ←次へ | 前へ→

【58053】Re:VBA 上からの標準グラフの設定方法
発言  kanabun  - 08/9/30(火) 1:47 -

引用なし
パスワード
   ▼L-way さん:
こんばんは。

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

よく検証してなくてゴメンですが、

標準グラフは変更なしで、
代わりに
グラフの元データ範囲を選択してから(もちろん、マクロ内で)グラフの種類を
宣言してみてはどうでしょう?

'-----------------------------------
Sub Test2()
 Dim SourceRange As Range
 Dim gr As Range
 Dim MaxValue#
 MaxValue = 300 '??? '◆要 変更
 
 With ActiveSheet
   Set SourceRange = .Range("A1").CurrentRegion
   SourceRange.Select '◆追加
   
   Set gr = .[D5].Resize(19, 8) '◆要 変更
   With .ChartObjects.Add(gr.Left, gr.Top, gr.Width, gr.Height)
    .Name = "グラフ1"
    .Chart.ChartType = xlXYScatterSmoothNoMarkers '◆順番変更
    .Chart.SetSourceData SourceRange, xlColumns
    .Chart.HasTitle = False
    .Chart.HasLegend = False
    With .Chart.Axes(Type:=xlValue)
      .HasTitle = True
      .AxisTitle.Text = "スペクトル"
      .MaximumScale = MaxValue
      .MinimumScale = 0
      .CrossesAt = 0
      .MajorUnit = (MaxValue / 10)
      .TickLabels.NumberFormat = "0.0E+00"
    End With
    With .Chart.Axes(Type:=xlCategory)
      .HasTitle = True
      .AxisTitle.Text = "周波数"
      .MinimumScale = 0.001
      .MaximumScale = 100.1
      .Crosses = xlAxisCrossesMinimum
      .ScaleType = xlScaleLogarithmic
      .LogBase = 10
    End With
    With .Chart.SeriesCollection(1).Border
      .ColorIndex = 1
      .Weight = xlThin
    End With
   End With
 End With

End Sub

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 お礼

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