API (VBA) リファレンス

方針

ここでは、利用者が直接実行するマクロ内部補助関数 を分けて整理します。

1. ユーザー向けマクロ

ShowYAxisTicksAndLabels()

Y 軸を表示状態にし、内向き目盛りと目盛りラベルを有効化します。

依存

  • Range("FontSize")

  • ActiveChart

主な作用

  • Y 軸表示

  • グリッド線オフ

  • 目盛り内向き化

  • 目盛り文字の太字化


ShowXAxisTicksAndLabels()

X 軸を表示状態にし、内向き目盛りとラベルを有効化します。

依存

  • Range("FontSize")

  • ActiveChart


Convert2VerticalBars()

2 列データ (x, y) を、縦棒描画しやすい並びに変換します。

入力

  • ユーザーが選択する入力範囲

  • ユーザーが選択する出力先左上セル

出力イメージ 各点について (x,0)(x,y) を並べて出力します。


ChangeDataLines()

選択中グラフの全系列を散布図化し、黒線・マーカーなしに変更します。

用途

  • Excel が自動で付けた見た目を簡素化したいとき


ConvertScientificNotation()

セル中の指数表記を 10^{} 形式に変換します。

対応例

  • 1E+310^{3}

  • 3.2E-53.2×10^{-5}

注意

  • セル値そのものが文字列に置き換わります。


AddXDataLabels()

AddDataLabels のラッパーです。ラベル位置を下側に指定します。


AddYDataLabels()

AddDataLabels のラッパーです。ラベル位置を左側に指定します。


AddDataLabels(labelPosition As XlDataLabelPosition, labelText As String)

X, Y, ラベルの 3 列データから、新しい散布図系列を追加し、各点にラベルを付けます。

入力

  • 3 列の選択範囲

    • 1 列目: X

    • 2 列目: Y

    • 3 列目: ラベル

  • 対象グラフの選択

内部仕様

  • 新系列を SeriesCollection.NewSeries で作成

  • マーカーは +

  • ^{} / _{} を簡易解釈して上付き・下付き適用

制約

  • 複雑な複数段の数式表現には未対応

  • グラフをクリックするまで待機する実装


CopyChartAsBitmap()

アクティブグラフをビットマップ形式でコピーし、A1 に貼り付けます。

注意

  • 貼り付け先が Range("A1") 固定


CopyChartAsVector()

アクティブグラフを xlPicture でコピーし、A1 に貼り付けます。


ResizeChartFromCells()

名前付きセル width, height を使って、選択グラフのサイズを変更します。

依存

  • Range("width")

  • Range("height")


InsertFormattedTextInChart()

グラフ内にテキストボックスを追加し、一部文字を上付き・下付きに設定します。

現状

  • 文字列 3x105s を固定で挿入

  • 試作・サンプル用途の性格が強い


MoveLegendToTopInsidePlotArea()

凡例をプロットエリア内上部へ移動します。


AddAxisLabels()

X/Y 軸タイトルを追加します。

現状の既定値

  • X軸ラベル

  • Y軸ラベル


AdjustPlotAreaAndAddAxisLabels()

プロットエリア位置を調整したうえで、軸タイトルを追加します。


ChangeLineWidth()

プロットエリア枠線および軸線の太さを設定します。

依存

  • PlotAreaLineWidth

  • ScaleLineWidth


RemoveChartAndPlotAreaFill()

グラフエリアとプロットエリアの塗りつぶしを削除します。


ChangeFont()

グラフ全体の文字を Arial・太字・指定サイズにそろえます。

対象

  • タイトル

  • 軸目盛り

  • 軸タイトル

  • データラベル

  • 凡例

依存

  • FontSize


ChangeScaleBars()

主目盛り・副目盛りや枠線をまとめて設定します。

注意

  • MajorGridlines / MinorGridlines の存在を暗黙に前提にしているため、グラフ種別によっては注意が必要です。


RemoveMajorGridlines()

X/Y 軸の主グリッド線を非表示にします。


AdjustChartLayout()

凡例位置、プロットエリア配置、軸タイトル、データラベル文字サイズなどを一括調整します。


CustomizeActiveChart()

選択中グラフを簡易整形します。

現状の既定値

  • 背景透明

  • 凡例下部

  • タイトル 学会向けグラフ

  • 軸タイトル X軸 (単位) / Y軸 (単位)


CustomizeAllChartsOnSheet()

アクティブシート内の全チャートに CustomizeChart を適用します。


CustomizeChart(cht As chart)

グラフ 1 個に対する共通整形処理です。


SetYTicsPosition()

xmin, xmax を読み取り、X 軸の交点と表示範囲を設定します。

依存

  • xmin

  • xmax

備考

  • 名前からは Y 軸操作に見えますが、実際には X 軸側の範囲と交点 を扱っています。


SetXTicsPosition()

ymin, ymax を読み取り、Y 軸の交点と表示範囲を設定します。

依存

  • ymin

  • ymax

備考

  • 名前からは X 軸操作に見えますが、実際には Y 軸側の範囲と交点 を扱っています。


FixDataColors()

系列の線色、マーカー塗りつぶし色、枠線色、スタイル、サイズを再設定して固定します。

用途

  • Excel が色を勝手に変えたり、貼り付け後に見た目が崩れるのを抑えたいとき


ShowModifyGraphForm()

ユーザーフォーム ModifyGraph を表示します。

2. 補助関数

GetActiveChart() As chart

ActiveChart を返します。選択されていない場合はメッセージを出します。


GetCellValue(cellName As String, Optional sheetName As String = "") As Variant

指定セル名の値を返します。必要ならシート名指定が可能です。


GetWorksheet(Optional sheetName As String = "") As Worksheet

指定名のワークシート、またはアクティブシートを返します。


GetChart() As chart

選択中チャートを返す意図の関数です。

警告

実装では Set GetSelectedChart = selectedChart となっており、関数名 GetChart と戻り値代入名が一致していません。これはバグ候補です。

3. フォームイベント

ModifyGraph.AddXLabels_Click()

フォーム上のボタンから AddXDataLabels を呼び出します。

4. 保守上の注意点

命名ゆれ

  • FontSizefontsize

  • GetActiveChartGetChart

  • SetXTicsPosition / SetYTicsPosition の意味と実処理のずれ

暗黙の Variant 依存

Option Explicit がなく、未宣言変数に依存している箇所があります。長期保守では不具合原因になりやすいです。

直接 UI に依存

  • ActiveChart

  • ActiveSheet

  • Selection

  • InputBox

このため、処理の再利用性や自動化はやや低いです。