Excel実行画面
・ 通常の棒グラフ D1:F13がグラフデータです。
・ 積み上げ縦棒、100% 積み上げ縦棒
・ 3-D 縦棒、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 = xlColumnClustered
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 = xlColumnStacked
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 = xlColumnStacked100
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 = xl3DColumn
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 = xl3DColumnClustered
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 = xl3DColumnStacked
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 = xl3DColumnStacked100
tCh.Chart.SetSourceData Source:=trange, PlotBy:=xlColumns
tCh.Chart.HasTitle = True
tCh.Chart.ChartTitle.Characters.Text = "売上推移 3-D 100% 積み上げ縦棒"
End Sub