Excel でマクロを使用して散布図またはバブル チャートのデータ ポイントにラベルを追加する方法

Office 2003 のサポートは終了しました

マイクロソフトでは、2014 年 4 月 8 日に Office 2003 のサポートを終了しました。この変更は、ソフトウェアの更新プログラムおよびセキュリティ オプションに影響しています。 この変更の意味および保護された状態を維持する方法について説明します。

概要
Microsoft Excel には、散布図またはバブル チャートのデータ ポイントに自動的にテキスト ラベルを付ける組み込みコマンドはありません。しかし、この処理を実行する Microsoft Visual Basic for Applications (VBA) マクロを作成することができます。この資料には、散布図でこの処理を実行するサンプル マクロが記載されていますが、同じコードをバブル チャートにも使用できます。
詳細
マイクロソフトは、この情報をプログラミング言語の使用方法の一例として提供するだけであり、市場性および特定目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。この資料は、例示されているプログラミング言語やプロシージャの作成およびデバッグに使用するツールについて理解されているユーザーを対象としています。Microsoft Support 担当者は、特定のプロシージャの機能についての問い合わせにはお答えできますが、ユーザー固有の目的に合わせた機能の追加、プロシージャの作成などの内容変更は行っておりません。この資料のサンプル コードでは、データおよび関連するラベルを次のフォーマットでワークシートに配置するものと仮定します。
  • 第 1 列は、データのラベルです。
  • 第 2 列は、散布図の X の値です。
  • 3 列目以降は、散布図の Y の値です。
: この例の Y の値のデータは 1 列しかありませんが、複数のデータ列を使用することができます。

この資料に記載されているマクロを使用するには、次のデータを使用してグラフを作成します。
   A1: Labels       B1: X Values   C1: Y Values   A2: DataPoint1   B2: 12         C2: 5   A3: DataPoint2   B3:  9         C3: 7   A4: DataPoint3   B4:  5         C4: 3   A5: DataPoint4   B5:  4         C5: 8   A6: DataPoint5   B6:  1         C6: 4
: この表に空の列を含めないでください。また、データ ラベルの列と X の値の列を分離しないでください。ラベルや値は、この資料に記載されているフォーマットのとおりに配置する必要があります (左上隅のセルがセル A1 である必要はありません)。

散布図のデータ ポイントにテキスト ラベルを付ける手順は次のとおりです。
  1. サンプル データを入力したワークシートで、セル範囲 B1:C6 を選択します。
  2. Microsoft Office Excel 2003 およびそれ以前のバージョンの Excel では、次の手順を実行します。
    1. [挿入] メニューの [グラフ] をクリックします。
    2. [グラフ ウィザード - 1/4 - グラフの種類] ダイアログ ボックスで、[標準] タブをクリックします。[グラフの種類] で [散布図] をクリックし、[次へ] をクリックします。
    3. [グラフ ウィザード - 2/4 - グラフの元データ] ダイアログ ボックスで、[データ範囲] タブをクリックします。[系列] で [列] をクリックして、[次へ] をクリックします。
    4. [グラフ ウィザード - 3/4 - グラフ オプション] ダイアログ ボックスで、[次へ] をクリックします。
    5. [グラフ ウィザード - 4/4 - グラフの作成場所] ダイアログ ボックスで、[新しいシート] をクリックし、[完了] をクリックします。
    Microsoft Office Excel 2007 では、次の手順を実行します。
    1. [挿入] タブをクリックし、[グラフ] の [散布図] をクリックし、散布図の種類を選択します。
    2. [デザイン] タブの [場所] で [グラフの移動] をクリックし、[新しいシート] をクリックして [OK] をクリックします。
  3. Alt キーを押しながら F11 キーを押し、Visual Basic Editor を起動します。
  4. [挿入] メニューの [標準モジュール] をクリックします。
  5. 次のサンプル コードをモジュール シートに入力します。
    Sub AttachLabelsToPoints()   'Dimension variables.   Dim Counter As Integer, ChartName As String, xVals As String   ' Disable screen updating while the subroutine is run.   Application.ScreenUpdating = False   'Store the formula for the first series in "xVals".   xVals = ActiveChart.SeriesCollection(1).Formula   'Extract the range for the data from xVals.   xVals = Mid(xVals, InStr(InStr(xVals, ","), xVals, _      Mid(Left(xVals, InStr(xVals, "!") - 1), 9)))   xVals = Left(xVals, InStr(InStr(xVals, "!"), xVals, ",") - 1)   Do While Left(xVals, 1) = ","      xVals = Mid(xVals, 2)   Loop   'Attach a label to each data point in the chart.   For Counter = 1 To Range(xVals).Cells.Count     ActiveChart.SeriesCollection(1).Points(Counter).HasDataLabel = _         True      ActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Text = _         Range(xVals).Cells(Counter, 1).Offset(0, -1).Value   Next CounterEnd Sub
  6. Alt キーを押しながら Q キーを押して Excel に戻ります。
  7. グラフのシートに切り替えます。
  8. Excel 2003 およびそれ以前のバージョンの Excel では、[ツール] メニューの [マクロ] をポイントし、[マクロ] をクリックします。[AttachLabelsToPoints] をクリックし、[実行] をクリックしてマクロを実行します。

    Excel 2007 では、[開発] タブをクリックし、[コード] の [マクロ] をクリックし、[AttachLabelsToPoints] をクリックして [実行] をクリックします。
セル A2:A6 の各ラベルがグラフのデータ ポイントに付けられます。
xy-scatter XL2000 XL98 XL97 XL2001 XL2002 XLX XL2003 XL2007
プロパティ

文書番号:213750 - 最終更新日: 05/21/2007 01:59:08 - リビジョン: 4.1

Microsoft Office Excel 2007, Microsoft Office Excel 2003, Microsoft Excel 2002 Standard Edition, Microsoft Excel 2000 Standard Edition, Microsoft Excel 97 Standard Edition, Microsoft Excel X for Mac, Microsoft Excel 2001 for Mac, Microsoft Excel 98 for Macintosh

  • kbchart kbdtacode kbhowto kbinfo kbprogramming KB213750
フィードバック