引数:PlotBy (データ系列の方向指定) | |
---|---|
データ系列を縦方向 | xlRows |
データ系列を横方向 | xlColumns |
Sub Grafh_sheet01() Charts.Add before:=Worksheets("Sheet1") 'グラフシートを作成します。 ActiveChart.SetSourceData Source:=Worksheets("sheet1").Range("A1:D4"), PlotBy:=xlRows 'ワークシート「sheet1」のA1:D4からデータ系列縦のデータでグラフを作成します。 End Sub
下記のサンプルプログラムは、グラフが作成を作成するプログラムなのですが、グラフシート(グラフ)が既に作成されている場合は、”既にグラフが作成されています。”とメッセージが表示されプログラムが終了します。グラフシートが作成されていない場合は、シート(月別売上)の表データを元に、グラフを作成します。
Sub Grafh_sheet02() If Charts.Count = 0 Then 'グラフシートがあるか確認するする With Charts.Add(After:=Sheets("月別売上")) 'グラフシートを作成します。 .Name = Worksheets("月別売上").Range("A1") 'シート名をA1を指定します。「月別売上合計表」 .SetSourceData Source:=Worksheets("月別売上").Range("A5").CurrentRegion, PlotBy:=xlColumns 'グラフを作成します。 End With Else MsgBox "既にグラフが作成されています。" End If End Sub
下記のサンプルプログラムは、グラフが作成を作成するプログラムなのですが、一度作成したグラフに対してデータ系列を選択できるサンプルプログラムです。グラフ作成後でもデータ系列を縦方向・横方向に変更できるので、作成されたグラフを確認しつつ変更する事ができるサンプルプログラムです。
Sub Grafh_sheet03() Dim Sen As Integer Dim SPotBy As Variant Sen = Application.InputBox(Prompt:="データ系列の方向を指定します。縦:1・横:2", Title:="グラフシート", Default:="1", Left:=100, Top:=200, Type:=2) 'InputBoxメゾット設定します。 'データ系列の方向を指定します。 If Sen = 1 Then SPotBy = xlRows 'データ系列を縦方向 Else SPotBy = xlColumns 'データ系列を横方向 End If If Charts.Count = 0 Then 'グラフシートがあるか確認するする 0:はグラフシート無し With Charts.Add(After:=Sheets("年度売上")) 'グラシートが作成いないので、グラフを作成します。 .Name = "年度売上グラフ" .SetSourceData Source:=Worksheets("年度売上").Range("A1").CurrentRegion, PlotBy:=SPotBy End With Else '既にグラフが作成されている場合は、データ系列の変更を行います。 Charts("年度売上グラフ").SetSourceData Source:=Worksheets("年度売上").Range("A1").CurrentRegion, PlotBy:=SPotBy End If End Sub
Sub Grafh_sheet04() 'グラフシートの削除 Application.DisplayAlerts = False 'グラフシートを削除する際に確認メッセージを無効 If Charts.Count >= 1 Then 'グラフシートが1以上ある場合は削除 Charts.Delete 'グラフシートを削除します。 End If Application.DisplayAlerts = True '確認メッセージを有効化にする End Sub