如何使用巨集為 Excel 的 xy 散佈圖或泡泡圖中的資料點加上標籤

文章翻譯 文章翻譯
文章編號: 213750 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

結論

在 Microsoft Excel 中,沒有會自動為 xy 散佈圖或泡泡圖中的資料點附加文字標籤的內建命令。不過,您可以建立一個執行此動作的 Microsoft Visual Basic for Applications (VBA) 巨集。本文包含在 XY 散佈圖上執行此工作的範例巨集。不過,相同的程式碼可用於泡泡圖。

其他相關資訊

Microsoft 僅提供示範性的程式設計範例,不做任何明示或默示的保證。其中包括 (但不限於) 其適售性與適合某特定用途之默示擔保。本文將假設您已相當熟悉示範所使用的程式設計語言,以及用於建立和偵錯程序的工具。Microsoft 技術支援工程師可以協助說明特定程序的功能,但不會修改這些範例以提供附加功能或建構程序來滿足您的特定需求。 本文中的範例程式碼會假設資料和相關聯的標籤是根據下列格式而排列在工作表中:
  • 第一欄含有資料標籤。
  • 第二欄含有 xy 散佈圖的 x 值。
  • 第三欄和後面欄位含有 xy 散佈圖的 y 值。
請注意:雖然所提供的範例只有一欄資料是 y 值,但您可以使用一個以上的數列資料。

如果要使用本文中的巨集,請使用下列資料建立圖表:
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)。

如果要為 xy 散佈圖中的資料點附加文字標籤,請依照下列步驟執行:
  1. 在含有範例資料的工作表上,選取儲存格範圍 B1:C6。
  2. 在 Microsoft Office Excel 2003 和舊版的 Excel 中,請依照下列步驟執行:
    1. 按一下 [插入] 功能表上的 [圖表]
    2. [圖表精靈 - 步驟 4 之 1 - 圖表類型] 對話方塊中,按一下 [標準類型] 索引標籤。按一下 [圖表類型] 下的 [XY 散佈圖],然後按一下 [下一步]
    3. [圖表精靈 - 步驟 4 之 2 - 圖表資料來源] 對話方塊中,按一下 [資料範圍] 索引標籤。按一下 [數列資料取自] 下的 [欄],然後按一下 [下一步]
    4. [圖表精靈 - 步驟 4 之 3 - 圖表選項] 對話方塊中,按一下 [下一步]
    5. [圖表精靈 - 步驟 4 之 4 - 圖表位置] 對話方塊中,按一下 [新的工作表] 選項,然後按一下 [完成]
    在 Microsoft Office Excel 2007 中,請依照下列步驟執行:
    1. 按一下 [插入] 索引標籤,再按一下 [圖表] 群組中的 [散佈圖],然後選取一種類型。
    2. [設計] 索引標籤上,按一下 [位置] 群組中的 [移動圖表],再按一下 [新工作表],然後按一下 [確定]
  3. 按 ALT+F11 啟動 Visual Basic 編輯器。
  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 中的標籤附加至圖表上的資料點。
注意 :本文屬於「快速發佈」文章,係由 Microsoft 技術支援或組織內部直接建立。 本文所包含的資訊是為了回應新問題而依現況提供。 因此為了迅速對外發佈,文章內容可能含有印刷錯誤,而且可能會在不另行通知的情況下進行修改。 如需其他考量事項,請參閱使用規定

屬性

文章編號: 213750 - 上次校閱: 2013年7月2日 - 版次: 1.0
這篇文章中的資訊適用於:
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 97 Standard Edition
  • Microsoft Excel X for Mac
  • Microsoft Excel 2001 for Macintosh
  • Microsoft Excel 98 for Macintosh
  • Microsoft Office Excel 2003
  • Microsoft Excel 2010
關鍵字:?
kbchart kbdtacode kbhowto kbinfo kbprogramming KB213750
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

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