您目前已離線,請等候您的網際網路重新連線

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

Office 2003 支援已結束

Microsoft 於 2014 年 4 月 8 日結束對 Office 2003 的支援。此變更已影響您的軟體更新和安全性選項。 瞭解這對您的意義為何且如何持續受保護。

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

如果要使用本文中的巨集,請使用下列資料建立圖表:
A1:Labels       B1:X Values   C1:Y ValuesA2:DataPoint1   B2:12          C2: 5A3:DataPoint2   B3:9          C3: 7A4:DataPoint3   B4:5          C4: 3A5:DataPoint4   B5:4          C5: 8A6: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.CountActiveChart.SeriesCollection(1).Points(Counter).HasDataLabel = _TrueActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Text = _Range(xVals).Cells(Counter, 1).Offset(0, -1).ValueNext 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 XL2010
注意 :本文屬於「快速發佈」文章,係由 Microsoft 技術支援或組織內部直接建立。 本文所包含的資訊是為了回應新問題而依現況提供。 因此為了迅速對外發佈,文章內容可能含有印刷錯誤,而且可能會在不另行通知的情況下進行修改。 如需其他考量事項,請參閱使用規定
內容

文章識別碼:213750 - 最後檢閱時間:07/02/2013 12:48:00 - 修訂: 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
意見反應