|
グラフのテンプレートを前もってシートに作成しておき、マクロを使ってグラフにデータを追加するプログラムを作りました。この際、データ数が非常に大きく(10000行以上),また数種類の折れ線を追加するため、処理に時間がかかってしまいます。(以下がそのサンプルプログラムです。)この際にデータの追加完了までグラフ表示を無効にすれば、処理時間を大幅に短縮できると考えています。どうか、エキスパートの皆さんこの問題を解決お願いします。また、これ以外の方法でグラフの表示をすばやくできる方法があればお教えください。
Sub AddCurevesToShckTempSheet()
Dim EndColumnNo As Long
'最終データ行を取得する
EndColumnNo = Worksheets("ParaForProcess").Range("B5").Value
'チャート"ChrtTempShk"にグラフを追加
Sheets("System-TempShock").Select
ActiveSheet.ChartObjects("ChrtTempShk").Activate
ActiveChart.ChartArea.Select
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Name = "TTEMP(DEGC)"
ActiveChart.SeriesCollection(1).XValues = "='DataSet'!R3C3:R" &_ EndColumnNo & "C3"
ActiveChart.SeriesCollection(1).Values = "='DataSet'!R3C10:R" &_ EndColumnNo & "C10"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).Name = "SCN1(CPS)"
ActiveChart.SeriesCollection(2).XValues = "='DataSet'!R3C3:R" &_ EndColumnNo & "C3"
ActiveChart.SeriesCollection(2).Values = "='DataSet'!R3C11:R" &_ EndColumnNo & "C11"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(3).Name = "SCN1(CPS)"
ActiveChart.SeriesCollection(3).XValues = "='DataSet'!R3C3:R" &_ EndColumnNo & "C3"
ActiveChart.SeriesCollection(3).Values = "='DataSet'!R3C12:R" &_ EndColumnNo & "C12"
ActiveChart.SeriesCollection(1).Select
ActiveChart.SeriesCollection(1).AxisGroup = 2
ActiveChart.Axes(xlValue, xlSecondary).Select
With ActiveChart.Axes(xlValue, xlSecondary)
.MinimumScale = 0
.MaximumScale = 150
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ScaleType = xlLinear
.DisplayUnit = xlNone
.HasTitle = True
.AxisTitle.Characters.Text = "Temp [degC]"
End With
End Sub
|
|