SSブログ

散布図の変更 [Excel VBA]

■目的
・所望の散布図グラフを効率よく作成する

■アプローチ
<グラフの作成方法>
・最初に『グラフ ツール』⇒散布図を選択しグラフを作成する。
・そのグラフをベースに、下のグラフ仕様の変更をおこなう。
・グラフの変更はVBAプログラムでおこなう。
・VBAプログラムは、Excelの『Active X コントロールボタン』のコマンド ボタンに登録する。
・今後は、このボタンを押下することで所望のグラフフォーマットトで散布図を作成する。

<グラフ仕様>
  グラフ内 フォント Meiryo UI
  グラフ内 文字サイズ 12
  X軸文字サイズ 14
  Y軸文字サイズ 14
   X軸最小 0
   X軸最大 40
   Y軸最小 0
   Y軸最大 300
    X軸目盛 2
    Y軸目盛 50
  グラフ外枠サイズ 横 200 * 17 / 7
  グラフ外枠サイズ 縦 100 * 11 / 3
  凡例位置 右
  グラフ線の補完 空白セルの補完
  近似曲線 消去
  グラフ枠 消去
  グラフ設定 移動する/大きさ変更しない

<VBAプログラム>
	
	
Private Sub CommandButton1_Click()

    Dim ch As ChartObject
    For Each ch In ActiveSheet.ChartObjects
        'Debug.Print ch.Name
            ch.Chart.ChartArea.AutoScaleFont = True
            ch.Chart.ChartArea.Font.Name = "Meiryo UI"
            'ch.Chart.ChartArea.Font.Name = "MS Pゴシック"
            ch.Chart.ChartArea.Font.Size = 12
            
            ch.Chart.Parent.Width = 200 * 17 / 7
            ch.Chart.Parent.Height = 100 * 11 / 3
            
            ch.Chart.Axes(xlCategory).MinimumScale = 0  'X軸 最小値
            ch.Chart.Axes(xlCategory).MajorUnit = 2
            ch.Chart.Axes(xlCategory).MaximumScale = 10  'X軸 最大値
            ch.Chart.Axes(xlValue).MinimumScale = 0  'Y軸 最小値
            ch.Chart.Axes(xlValue).MajorUnit = 50
            ch.Chart.Axes(xlValue).MaximumScale = 300  'Y軸 最大値         
            'ch.Chart.Axes(xlValue).MajorUnit = 0.2

            'ch.Chart.legend.Position = xlLegendPositionBottom  '凡例表示(下)xlLegendPositionBottom 下
            ch.Chart.legend.Position = xlLegendPositionRight   '凡例表示(右)xlLegendPositionRight 右
            ch.Chart.Axes(xlCategory).TickLabels.Font.Size = 14  ' X軸のフォントサイズを設定する xlCategory
            ch.Chart.Axes(xlValue).TickLabels.Font.Size = 14     ' Y軸のフォントサイズを設定する xlValue
            
            ch.Chart.ChartArea.Border.LineStyle = 0  'グラフ枠の消去

            ch.Placement = xlMove
            
    Next


End Sub

nice!(0)  コメント(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。