私が次のようなチャートを持っている場合:
x y
1 3
2 8
3 9
4 0
color 3 1
XとYの棒があり、各棒のカラーインデックスをテーブルの最後の行(色のラベル)に関連付けることができるExcel(2007)で棒グラフを作成することは可能ですか?
このVBAスニペットは棒グラフをプロットし、列の最終値を棒のカラーインデックスとして使用します。
これを使用するには、データの2つの列(ヘッダーと最後の行を含む)を選択してF5
から、次のコードを押します。
Sub BarChartWithColors()
Dim selectedRng As Range, chartRng As Range, colorRng As Range
Set selectedRng = Selection
Set chartRng = Range(Selection.Cells(1, 1), Selection.Cells(selectedRng.Rows.Count - 1, 2))
Set colorRng = Range(Selection.Cells(selectedRng.Rows.Count, 1), Selection.Cells(selectedRng.Rows.Count, 2))
Charts.Add
ActiveChart.ChartType = xlBarClustered
ActiveChart.SetSourceData Source:=chartRng, PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1" //Change sheet destination as appropriate
ActiveChart.SeriesCollection(1).Interior.ColorIndex = colorRng.Cells(1, 1)
ActiveChart.SeriesCollection(2).Interior.ColorIndex = colorRng.Cells(1, 2)
End Sub