GEN MUTO'S HOMEPAGE  エクセル大事典  エクセルVBAを極める

エクセルExcel大事典 エクセル大事典TOPページへ
 ■ エクセルVBA中級編−ワークシートを使いこなそう
  グラフを操作しよう!
 
■ グラフを操作しよう!

VBAからExcelのグラフを操作することができます。データ分析の元になる表から、グラフの埋め込みオブジェクトを作成したり、グラフシートを追加することができます。また、作成済みのグラフのグラフの種類を変更したり、タイトルや凡例の表示を変更することもできます。

グラフを使用したシートを、毎月編集したり、修正を加えている場合など、VBAで自動化することで作業を効率化することが可能です。また印刷するために、グラフの体裁や表示サイズなどを手作業で調整している場合など、VBAを利用することで、簡単に編集・修正を加えることが可能になります。

■グラフを作成する方法

シートにグラフの埋め込みオブジェクトを作成したり、グラフシートを追加することができます。

グラフシートを追加する
[書式]

オブジェクト.Add(シート1, シート2, グラフシートの数)

オブジェクトには、Chartsコレクションを指定します。
シート1には、グラフシートを追加したいシートを指定します。指定したシートの前にグラフシートが追加されます。省略するとグラフシートはアクティブなシートの前に挿入されます。
シート2には、グラフシートを追加したいシートを指定します。指定したシートの後にグラフシートが追加されます。省略するとグラフシートはアクティブなシートの前に挿入されます。
グラフシートの数には、追加したいグラフシートの数を指定します。省略すると1が指定されます。

※ 引数シート1と引数シート2は、両方指定することはできません。

例:
Sub Test()
  Charts.Add(Sheets("Sheet1")). _
    SetSourceData Sheets("Sheet1").Range("A1:D4")
End Sub
 
この例では、ワークシートSheet1のA1:D4のセル領域を元にしてグラフを作成し、Sheet1の前にグラフシートを追加します。

埋め込みグラフを作成する
[書式]
オブジェクト.Add(左, 上, 幅, 高さ)


オブジェクトには、ChartObjectsコレクションを指定します。
には、埋め込みグラフの左端の位置を指定します。ポイント単位で数値を指定します。
には、埋め込みグラフの上端の位置を指定します。ポイント単位で数値を指定します。
には、埋め込みグラフの幅を指定します。ポイント単位で数値を指定します。
高さには、埋め込みグラフの高さを指定します。ポイント単位で数値を指定します。

例:
Sub Test()
  ActiveSheet.ChartObjects.Add(100, 100, 500, 300). _
    Chart.SetSourceData Sheets("Sheet1").Range("A1:D4")
End Sub

この例では、ワークシートSheet1のA1:D4のセル領域を元に、アクティブシートの左端と上端が100ポイントの位置に、幅500ポイント、高さ300ポイントの埋め込みグラフを作成します。

■グラフのデータ範囲を指定する方法

SetSourceDataメソッドを使用することで、グラフの元になるデータ範囲を指定することができます。また、データ系列の方向を指定することもできます。

[書式]
オブジェクト.SetSourceData セル範囲, データ系列


オブジェクトには、Chartオブジェクトを指定します。
セル範囲には、グラフの元になるデータのセル範囲を指定します。
データ系列には、グラフのデータ系列を行方向にするか列方向にするかをXlRowColクラスの定数で指定します。XlRowColクラスの定数は次の通りです。

定数 内容
xlColumns 列方向
xlRows 行方向

省略した場合、セル範囲の項目の行数が項目の列数より多い場合は列方向に、同じまたは少ない場合は行方向に、データ系列が設定されます。

例:
Sub Test()
  ActiveSheet.ChartObjects("MyChart").Select
  ActiveChart.SetSourceData Range("A1:C3"), xlColumns
End Sub

この例では、アクティブシートにある「MyChart」という名前の埋め込みグラフのデータ範囲を、A1:C3のセル領域に、データ系列を列方向に指定します。

※ グラフに名前を設定するには、グラフを選択して名前ボックスから名前を指定する、またはChartオブジェクトのNameプロパティで名前を指定します。

■グラフを編集する方法

グラフの中に含まれるオブジェクト、グラフエリア、軸、タイトル、凡例、データ系列などを編集することができます。

グラフのタイトルを設定する
[書式]
オブジェクト.HasTitle = 値


オブジェクトには、Chartオブジェクトを指定します。
には、TrueまたはFalseを指定します。Trueの場合、タイトルを表示します。Falseの場合、タイトルを表示しません。

※ タイトルの文字列は、ChartTitleオブジェクトのTextプロパティで指定します。

例:
Sub Test()
  ActiveSheet.ChartObjects(1).Chart.HasTitle = True
  ActiveSheet.ChartObjects(1).Chart.ChartTitle.Text = "売り上げグラフ"
End Sub

この例では、アクティブシートの埋め込みグラフのタイトルを「売り上げグラフ」にして、表示します。

グラフの凡例を表示する
[書式]
オブジェクト.HasLegend = 値

オブジェクトには、Chartオブジェクトを指定します。
には、TrueまたはFalseを指定します。Trueの場合、凡例を表示します。Falseの場合、凡例を表示しません。

※ 凡例を表示する位置を指定するには、LegendオブジェクトのPositionプロパティにXlLegendPositionクラスの定数を指定します。XlLegendPositionクラスの定数は次の通りです。

定数 内容
xlLegendPositionCorner
xlLegendPositionRight
xlLegendPositionTop
xlLegendPositionBottom
xlLegendPositionLeft

例:
Sub Test()
  ActiveSheet.ChartObjects(1).Chart.HasLegend = True
  ActiveSheet.ChartObjects(1).Chart.Legend.Position = xlLegendPositionTop
End Sub

この例では、アクティブシートの埋め込みグラフの上部に凡例を表示します。

グラフの種類を変更する
[書式]
オブジェクト.ChartType = 値


オブジェクトには、Chartオブジェクトを指定します。
には、XlChartTypeクラスの定数を指定します。XlChartTypeクラスの主な定数は次の通りです。

定数 内容
xlLine  折れ線
xlLineStacked  積み上げ折れ線
xlPie  円 
xlPieOfPie  補助円グラフ付き円 
xlPyramidBarStacked  積み上げピラミッド横棒
xlPyramidColClustered  集合ピラミッド縦棒 
xlPyramidColStacked  積み上げピラミッド縦棒
xlRadar  レーダー
xlRadarFilled  塗りつぶしレーダー
xlXYScatter  散布図 
xlXYScatterLines  折れ線付き散布図 
xlXYScatterSmooth  平滑線付き散布図 
xlArea 
xlAreaStacked  積み上げ面
xlBarClustered  集合横棒
xlBarOfPie  補助縦棒グラフ付き円 
xlBarStacked  積み上げ横棒
xlBubble  バブル 
xlColumnClustered  集合縦棒 
xlColumnStacked  積み上げ縦棒 
xlConeBarClustered  集合円錐横棒 
xlConeBarStacked  積み上げ円錐横棒 
xlConeColClustered  集合円錐縦棒
xlConeColStacked  積み上げ円錐縦棒 
xlCylinderBarClustered  集合円柱横棒 
xlCylinderBarStacked  積み上げ円柱横棒 
xlCylinderColClustered  集合円錐縦棒 
xlCylinderColStacked  積み上げ円錐縦棒 
xlDoughnut  ドーナツ
xlDoughnutExploded  分割ドーナツ 
xlLineMarkers  データ マーカー付き折れ線
xlPieExploded  分割円 
xlPyramidBarClustered  集合ピラミッド横棒 

例:
Sub Test()
  ActiveSheet.ChartObjects(1).Chart.ChartType = xlLine
End Sub

この例では、アクティブシートの埋め込みグラフの種類を、折れ線グラフに変更します。



以上、VBAからグラフを操作する方法について解説しました。

グラフオブジェクトは、視覚的にデータ分析を行うことのできる大変便利なオブジェクトです。VBAからグラフを操作することで、さらに使いやすく便利にグラフを利用することができるでしょう。

ぜひ今回のテクニックを利用して、あなたの業務の効率化に役立ててください。

>> 次の話にすすむ


サイト内検索ができます

Microsoft Most Valuable Professional

Microsoft MVP Excel
武藤 玄 プロフィール
 

■■■ 執筆した書籍 ■■■
 

EXCEL VBA 業務自動化
 

Excel VBA を5日でマスターする本
 

仕事を速くする Excel VBA 入門
 

Excel VBAと業務改善のポイントがわかる本
 

Access VBA ベーシック スタンダード
 

Excel VBA アクションゲーム作成入門
 

■■■ 連載中の記事 ■■■
 

Excel VBAで業務改善!
 

実務で使うExcel VBA
 


TOPページ


■ エクセルVBA超入門

 ・9ステップで"Hello World!"
  からオブジェクト指向まで!
  1."Hello World!"を表示しよう
  2.基本はデータの入出力
  3.繰り返し処理
  4.シートで簡易データベース
  5.名前をつけよう
  6.構造化プログラムに挑戦
  7.構造体を使ってみよう
  8.フォームを使ってみよう
  9.オブジェクト指向に挑戦

■ エクセルVBA中級編

 ・VBAでいろんなテクニック
  変数・関数のスコープ
  引数の参照方法を明示
  配列の中身を一気に複写
  識別子がよいコードを作る
  データ定義型をもっと知ろう
  定数と列挙型を活用しよう
  エラー処理の重要性1
  エラー処理の重要性2
  いろいろな条件分岐
  いろいろな繰り返し処理
  演算子について知ろう
  文字列操作 連結 変換 置換
  文字列操作 検索 比較 書式
  日付操作関数を知ろう
  数値操作・評価・その他関数
  並び替えソートをマスター
  いろいろな検索をマスター
  VBEditorを使いこなそう
  マクロの記録を活用しよう1
  マクロの記録を活用しよう2
  VBAからVBEを操作しよう1
  VBAからVBEを操作しよう2
  VBAからVBEを操作しよう3
 ・ワークシートを使いこなす
  セルの参照をマスターしよう
  セルの選択をマスターしよう
  セルの操作をマスターしよう
  セルの書式設定をマスターしよう
  行・列の操作をマスターしよう
  シートの参照をマスターしよう
  シートの操作をマスターしよう
  ブックの操作をマスターしよう
  ウィンドウの操作をマスターしよう
  イベントプロシージャを活用しよう
  ワークシートを印刷しよう1
  ワークシートを印刷しよう2
  音声(読み上げ)機能を操作しよう
  グラフを操作しよう
 ・ユーザーフォームを使いこなす
  ユーザーフォームを使おう
  UserFormsオブジェクト
  Labelコントロール
  TextBoxコントロール
  ComboBoxコントロール
  ListBoxコントロール
  CheckBoxコントロール
  OptionButtonコントロール
  ToggleButtonコントロール
  CommandButtonコントロール
  ScrollBarコントロール
  SpinButtonコントロール
 ・VBA関数の一覧
  Aから始まる関数の一覧
  Cから始まる関数の一覧
  Dから始まる関数の一覧
  Eから始まる関数の一覧
  Fから始まる関数の一覧
  Gから始まる関数の一覧
 
■ エクセルVBAを極める
 VBAスーパーテクニック
 
 ・データベースへ接続してみよう!
  CSVファイルへの接続
  ワークシートへの接続
  mdbファイルへの接続
  SQL Serverへの接続
  ADOレコードセットの操作1
  ADOレコードセットの操作2
 ・ファイルを操作してみよう!
  FileSystemObjectの操作
  Drive File Folderの操作
  TextStream ダイアログ
  ステートメントでファイル操作1
  ステートメントでファイル操作2
 ・他アプリと連携してみよう!
  ActiveXオートメーションの操作
 ・ゲーム技でマクロを超える
  エクセルで音を鳴らす1
  エクセルで音を鳴らす2  
  スクリーン座標を取得
  様々なイベント取得
  リボンUIを制御しよう1
  リボンUIを制御しよう2
  シート上でアニメを動かそう
 
■ 一歩上行くエクセル
 基本操作の完全マスター!

 
 ・あなたはいったい
  エクセルで何をしたいのか?
  エクセルで業務効率化
  エクセル関数を使いこなす
  エクセルの便利技
  エクセルは最高の帳票ツール
 ・エクセル基本操作上級編!
  セル選択、コメント、シリアル値
  オート機能を使いこなそう!
  参照、条件付書式、入力規則
  関数をもっと理解しよう!
  配列数式を有効利用しよう!
  データの正規化をしよう!
  ショートカットキーを利用しよう1
  ショートカットキーを利用しよう2
  Office用アプリを作成しよう!
  PowerPivotとExcelで簡単BI!
 ・世間の誤ったエクセルの
  べからず集
  エクセルで文章を書くべからず
  エクセルで図形を描くべからず
  エクセルでシステムをつくるな
 
■ エクセル関連その他

 ・エクセルコミニュティにあなたも
  参加しませんか?
  Excel関連リンク・コミニュティ
 ・VBの理解がVBAをマスターする
  最短距離!
  VB関連の老舗・大家サイト
 ・エクセルExcel大事典掲示板
 ・プライバシーポリシー

2000アイテムを超えるラベルを販売
送料無料、即納対応の優良ショップ
今買っているラベルより確実に安い!
OAラベルの販売専科グラフトラベル




エクセルExcel大事典ははリンクフリーです エクセル大事典Excel大事典
お問い合わせはこちら gengengen@yahoo.co.jp

Copyright© Gen Muto 武藤 玄 All Rights Reserved,