|
>※1でグラフをアクティブにせずに作図
もちろん出来ます。ChartObject型の変数を用意します。同様に系列についても、
Serie型のオブジェクト変数にセットして使う書き方が出来ます。
>※2で一度線を描いてから線種の書式設定
書式設定は、デフォルトの設定では目的と違って、実現しないようなものについてのみ
行えば良いのです。マクロの自動記録をすると、デフォルトのままなのにも拘わらず、
いちいち全ての書式を再設定するようなコードが出てくるので、ヘルプで確認
しながら削除していきます。面倒なことは承知してますが、そのような編集の過程で、
知らなかったプロパティやメソッドを覚えられるので、デメリットばかりではない
のです。
Sub 描画()
Dim Ch As ChartObject
Dim j As Integer
Dim k As Double, l As Double, m As Double
Set Ch = ActiveSheet.ChartObjects("グラフ 5")
j = 10
With Worksheets("DATA")
k = .Range("F5").Value
l = .Range("F4").Value
m = .Range("E4").Value + k
End With
Application.ScreenUpdating = False
While m < l
With Ch.Chart.SeriesCollection.NewSeries
.XValues = "=DATA!R" & j & "C48:R" & j & "C49"
.Values = "=DATA!R" & j & "C50:R" & j & "C51"
.Name = "x_" & m
.Border.Weight = xlHairline
End With
j = j + 1: m = m + k
Wend
Application.ScreenUpdating = True
Set Ch = Nothing
End Sub
>※3で系統名が""の場合の処理をしていますが、実際にはエラー
If 〜 Then 〜 Else 〜 End If の条件分岐構文について、基礎の習得が出来て
いないようです。エラーの原因は、おそらくそれでしょう。
|
|