Excel実行画面
・ 通常の横棒グラフ D1:F13がグラフデータです。
・ 積み上げ横棒、100%積み上げ横棒
・ 3-D集合横棒、3-D積み上げ横棒、3-D 100%積み上げ横棒
Excel VBA実行コード
Option Explicit
Private Sub CommandButton3_Click()
Dim trange As Range
Dim tCh As ChartObject
Dim ypos As Long
Dim stname As String
stname = ActiveSheet.Name
Set trange = Worksheets("Sheet1").Range("D1:F13")
ypos = 220
'作成領域
Set tCh = Worksheets("sheet1").ChartObjects.Add(20, ypos, 400, 200)
'集合横棒
tCh.Chart.ChartType = xlBarClustered
tCh.Chart.SetSourceData Source:=trange, PlotBy:=xlColumns
tCh.Chart.HasTitle = True
tCh.Chart.ChartTitle.Characters.Text = "売上推移 集合横棒"
'作成領域
ypos = ypos + 220
Set tCh = Worksheets("sheet1").ChartObjects.Add(20, ypos, 400, 200)
'積み上げ横棒
tCh.Chart.ChartType = xlBarStacked
tCh.Chart.SetSourceData Source:=trange, PlotBy:=xlColumns
tCh.Chart.HasTitle = True
tCh.Chart.ChartTitle.Characters.Text = "売上推移 積み上げ横棒"
'作成領域
ypos = ypos + 220
Set tCh = Worksheets("sheet1").ChartObjects.Add(20, ypos, 400, 200)
'100% 積み上げ横棒
tCh.Chart.ChartType = xlBarStacked100
tCh.Chart.SetSourceData Source:=trange, PlotBy:=xlColumns
tCh.Chart.HasTitle = True
tCh.Chart.ChartTitle.Characters.Text = "売上推移 100% 積み上げ横棒"
'作成領域
ypos = ypos + 220
Set tCh = Worksheets("sheet1").ChartObjects.Add(20, ypos, 400, 200)
'3-D 集合横棒
tCh.Chart.ChartType = xl3DBarClustered
tCh.Chart.SetSourceData Source:=trange, PlotBy:=xlColumns
tCh.Chart.HasTitle = True
tCh.Chart.ChartTitle.Characters.Text = "売上推移 3-D 集合横棒"
'作成領域
ypos = ypos + 220
Set tCh = Worksheets("sheet1").ChartObjects.Add(20, ypos, 400, 200)
'3-D 積み上げ横棒
tCh.Chart.ChartType = xl3DBarStacked
tCh.Chart.SetSourceData Source:=trange, PlotBy:=xlColumns
tCh.Chart.HasTitle = True
tCh.Chart.ChartTitle.Characters.Text = "売上推移 3-D 積み上げ横棒"
'作成領域
ypos = ypos + 220
Set tCh = Worksheets("sheet1").ChartObjects.Add(20, ypos, 400, 200)
'3-D 100% 積み上げ横棒
tCh.Chart.ChartType = xl3DBarStacked100
tCh.Chart.SetSourceData Source:=trange, PlotBy:=xlColumns
tCh.Chart.HasTitle = True
tCh.Chart.ChartTitle.Characters.Text = "売上推移 3-D 100% 積み上げ横棒"
End Sub