エクセルVBAで一括スムージング処理【散布図グラフ】

エクセルVBAで散布図グラフを一括スムージングする方法を紹介します。
手動で一つずつスムージング
手動で散布図グラフにスムージング処理を実施する場合は、グラフ上の系列を一つ選択し、『データ系列の書式設定』の『線』の項目の中の『スムージング』にチェックを入れます。

ただしこの方法では、グラフの中に複数の系列が入っており、そのすべてをスムージングしようとすると手間と時間がかかります。
そこで、別の方法で簡単に一括スムージング処理を行うやり方を紹介します。
グラフの種類の変更
グラフ上で右クリックし、右クリックメニューの『グラフの種類の変更』をクリックします。そして、『すべてのグラフタブ』の『散布図』の項目の中から『散布図(平滑線とマーカー)』の中に表示されているグラフをクリックします。

この方法を使うことで、一度にグラフの全ての系列にスムージング処理を施すことができます。
VBAを使う
サイドはVBAで一括スムージングする方法を紹介します。
下記のコードをエクセルの標準モジュールに追加して、プログラムを実行することでも散布図グラフの全ての系列のグラフをスムージングすることができます。
Sub smooth_graph() Dim i As Long Dim rc As Long rc = MsgBox("グラフをスムージングしますか?", vbYesNoCancel + vbQuestion, "グラフのスムージング処理") With ActiveChart If rc = vbYes Then For i = 1 To .SeriesCollection.Count .FullSeriesCollection(i).Smooth = True Next i ElseIf rc = vbNo Then For i = 1 To .SeriesCollection.Count .FullSeriesCollection(i).Smooth = False Next i End If End With End Sub
上記のコードの中で、スムージング処理を行っているのが下記の箇所になります。
With ActiveChart .FullSeriesCollection(i).Smooth = True ' スムージングを実行する .FullSeriesCollection(i).Smooth = False ' スムージングを解除する End With
-
前の記事
コーシーの積分公式を使って複素周回積分で関数の解を求める-Pythonコードも紹介 2021.04.01
-
次の記事
【おすすめ教科書紹介】『伝送線路論 電磁界解析への入門』著:出口博之 数理工学社 2024.08.25