LoginSignup
6

More than 5 years have passed since last update.

理系が使ってもそれほど怒られないグラフをExcelで

Posted at

(Excel for Mac 2011 で動作確認しています。)

自分の持ってるExcelが色々とポンコツすぎてめげそうです。前回の記事でも影が消せないとわめき散らしたのですが、要するにバージョンが合ってないんだと思います。ExcelVBAで想定しているグラフのプロパティが、うちのExcelには当てはまらない、ということが多いのだと思います。

けど現実問題として、VBAを美しくすることじゃなくて、グラフを美しくすることを優先したいわけです。

というわけで基本のグラフ設定からです。

1 ファイルの準備

・新しいExcelブックに、お好きな散布図を作ります。散布図にも種類があるかもしれないですが、一番シンプルな無印の散布図がよいと思います。
・「名前を付けて保存」から「マクロ有効ブック」の形式で保存します。

2 マクロの準備

・Excelの開発タブを表示します。やり方はGoogleに聞くと良いです。
Windowsの場合 Macの場合 古いExcelの場合
・開発タブの「エディター」を押してVisual Basic Editorを開きます。
・「挿入」から「標準モジュール」を選びます。
moduleadd.png

・現れた「Module1」をダブルクリックします。
module1.png

・現れたエディタに以下のプログラムをコピペします。


Sub SimpleGraph()
' 散布図を作成し、選択した状態で実行してください。
' 動作確認環境:Excel fo Mac 2011 散布図>散布図(オプション無し)

    With ActiveChart

    .ChartArea.Height = 480
    .ChartArea.Width = 600
    .PlotArea.Height = 380
    .PlotArea.Width = 480
    .PlotArea.Top = 50
    .PlotArea.Left = 50
    .ChartArea.Format.Fill.ForeColor.RGB = RGB(255, 255, 255)
    .PlotArea.Format.Fill.ForeColor.RGB = RGB(255, 255, 255)
    .Axes(xlCategory).HasMajorGridlines = False
    .Axes(xlValue).HasMajorGridlines = False
    .Axes(xlCategory).MajorTickMark = xlTickMarkNone
    .Axes(xlValue).MajorTickMark = xlTickMarkNone

    End With

End Sub



3 マクロの実行

・シートに戻り、グラフの外枠をクリックして選択状態にします。
・開発タブの「マクロ」を押し、SimpleGraphを選択して、「実行」を押します。

実行前
スクリーンショット

実行後
スクリーンショット

4 設定を変えたいときは

・開発タブの「エディター」を押してVBAエディタを開き、マクロの中身を確認します。
・数値などを書き換えてください。
・その後、シートに戻り、グラフの外枠をクリックして選択し、開発タブの「マクロ」を押します。SimpleGraphを実行します。

思い通りの見た目になるまで繰り返します。

5 さらに整えたいときは


随時、以下の機能を実現するマクロを作る予定です。
・軸の名前を表示する
・キャプションを表示する
・軸のスケールを変える
・特殊な軸を設定する
・マーカーの見た目を変える
・近似曲線を追加する

6 お急ぎの場合

・ひとまず手動で必要なものを追加します。
・その後、個々のアイテムをクリックして選択状態にし、今度は右クリックします。現れたメニューから書式設定を開きます。
・好きな設定を行ないます。

マーカーの色と形は「自動」ではなく自分の好きなものを選び、枠線、影などはすべて「なし」を選ぶと綺麗です。

軸のテキストのフォントを英語フォントに変え、フォントサイズを少し大きくすると綺麗です。
スケールの桁数も選べます。(「0」→「0.00」など)

軸の最大値と最小値は「自動」ではなく自分で設定すると捗るかもしれません。
反転した軸や対数軸も選べます。さらに、軸の交点を左下以外にすることもできます。

7 今後の展望

早めに続きを書きます

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6