[VBA] グラフのマーカーを間引く:Excel VBA

折れ線グラフなどで、マーカーが必要なんだけど、データ数が多すぎて困るということはないでしょうか?
スムージングでは表現できない曲線を表示しつつ、マーカーも部分的に表示したい!そんなことはないでしょうか?

そんな時、このマクロなら、任意のステップ数でマーカーを残すように間引くことが出来ます。

グラフのマーカーを間引くマクロ


Sub ThinMarker()

' マーカーを間引く Macro
' マクロ記録日 : 2005/4/7 ユーザー名 : uzumaki7

Dim objChart As Object
Dim objChartSeriesCollection As Object
Dim lngPointIndex As Long 'Pointカウント用
Dim MarkerCount As Long 'Point総数

On Error Resume Next

Application.ScreenUpdating = False

'ステップ数の入力
MarkerStep = InputBox("マーカーのステップ数を入力して下さい")

If StrPtr(MarkerStep) = 0 Then
Exit Sub
End If

'すべてのチャートに適用
For Each objChart In ActiveSheet.ChartObjects

'すべての系列に適用
For Each objChartSeriesCollection In objChart.Chart.SeriesCollection

lngPointIndex = 1

'マーカーの総数をカウント
MarkerCount = objChartSeriesCollection.Points.Count

For lngPointIndex = 2 To MarkerCount

'マーカーを間引く
If ((lngPointIndex - 1) Mod MarkerStep) <> 0 Then
objChartSeriesCollection.Points(lngPointIndex).MarkerStyle = xlNone
End If

Next lngPointIndex

Next

Next

Application.ScreenUpdating = True

End Sub

posted by うずまき at 21:51 | Comment(0) | TrackBack(0) | VBA
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのTrackBack URL
http://blog.seesaa.jp/tb/34351107
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。