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

文書翻訳 文書翻訳
文書番号: 213750 - 対象製品
すべて展開する | すべて折りたたむ

概要

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 Counter
    
    End Sub
  6. Alt キーを押しながら Q キーを押して Excel に戻ります。
  7. グラフのシートに切り替えます。
  8. Excel 2003 およびそれ以前のバージョンの Excel では、[ツール] メニューの [マクロ] をポイントし、[マクロ] をクリックします。[AttachLabelsToPoints] をクリックし、[実行] をクリックしてマクロを実行します。

    Excel 2007 では、[開発] タブをクリックし、[コード] の [マクロ] をクリックし、[AttachLabelsToPoints] をクリックして [実行] をクリックします。
セル A2:A6 の各ラベルがグラフのデータ ポイントに付けられます。

プロパティ

文書番号: 213750 - 最終更新日: 2007年5月21日 - リビジョン: 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
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com