【MOS】【Microsoft Office Excel】【マクロ/VBA】レーダーチャートの値とX軸の軸ラベルを変更する方法
- 2015/10/14 16:29
- レーダーチャート
- 18
下記のようなデータがあるとします。
VBAでシート内のレーダーチャートの値とX軸の軸ラベルを変更する方法は以下のとおりです。
現在のシートにあるレーダーチャートに1つのチャートしか入れない場合
上記図のように、1つのチャートしか展開しない場合は下記の通りです。
Sub sample1() '//レーダーチャート内容変更 ActiveSheet.ChartObjects(1).Chart.SetSourceData Source:=ActiveSheet.Range("$A$2:$E2") '1人目のデータを挿入 ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).XValues = "=$A$1:$E$1" 'X軸のラベルを変更 End Sub
現在のシートにあるレーダーチャートに2つ以上のチャートを入れる場合
上記図のように、2つ以上のチャートを展開する場合は下記の通りです。
Sub sample2() '//レーダーチャート内容変更 ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Values = "=$A$2:$E$2" '1人目のデータを挿入 ActiveSheet.ChartObjects(1).Chart.SeriesCollection(2).Values = "=$A$3:$E$3" '2人目のデータを挿入 ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).XValues = "=$A$1:$E$1" 'X軸のラベルを変更 End Sub
現在のシートにあるレーダーチャートに1つずつのデータを入れて別シートにコピーする作業を繰り返す場合
1行目のデータをX軸のラベルとして、2行目から10行目のデータを、レーダーチャートに展開し新しいシートにコピーする作業を繰り返す時の書き方は下記のとおりです。
Sub sample3() Dim i As Long For i 2 to 10 '//1人目のデータを挿入 ActiveSheet.ChartObjects(1).Chart.SetSourceData Source:=ActiveSheet.Range("$A:" i & "$E:" & i) '//X軸のラベルを変更 ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).XValues = "=$A$1:$E$1" '//ワークシートをコピーする ActiveSheet.Copy After:=Worksheets(Worksheets(Worksheets.Count)) '//最初のシートに戻る Worksheets(1).Activate Next i End Sub