摘要
在 Microsoft Excel 中,沒有會自動為 xy 散佈圖或泡泡圖中的資料點附加文字標籤的內建命令。 不過,您可以建立一個執行此動作的 Microsoft Visual Basic for Applications (VBA) 巨集。 本文包含在 XY 散佈圖上執行此工作的範例巨集。 不過,相同的程式碼可用於泡泡圖。
其他相關資訊
Microsoft僅提供程式範例作為示範,無明示或暗示的保證。 這包括但不限於默示的適銷性或適合特定用途的保證。 本文假設你熟悉所示範的程式語言,以及用於建立和除錯程序的工具。 Microsoft 支援工程師可以協助解釋特定程序的功能。 然而,他們不會修改這些範例以提供額外功能或建構符合你特定需求的程序。 本文中的範例程式碼會假設資料和相關聯的標籤是根據下列格式而排列在工作表中:
-
第一欄含有資料標籤。
-
第二欄含有 xy 散佈圖的 x 值。
-
第三欄和後面欄位含有 xy 散佈圖的 y 值。
注意: 雖然所提供的範例只有一欄資料是 y 值,但您可以使用一個以上的數列資料。要使用本文中的巨量營養素,請使用以下資料製作圖表: A1:標籤 B1:X 值 C1:Y 值 A2:數據點1 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) (散點圖中為資料點附加文字標籤,請依照以下步驟操作:
-
在含有範例資料的工作表上,選取儲存格範圍 B1:C6。
-
在 Microsoft Office Excel 2003 和舊版的 Excel 中,請依照下列步驟執行:
-
按一下 [插入] 功能表上的 [圖表]。
-
在 [圖表精靈 - 步驟 4 之 1 - 圖表類型] 對話方塊中,按一下 [標準類型] 索引標籤。 在 圖表類型中,點選 XY (散點) ,然後點選下一步。
-
在 [圖表精靈 - 步驟 4 之 2 - 圖表資料來源] 對話方塊中,按一下 [資料範圍] 索引標籤。 在 系列輸入中,點選欄位,然後點擊「下一頁」。
-
在 圖表精靈 - 步驟 3(共 4 步)- 圖表選項 對話框中,點擊「下一步」。
-
在 圖表精靈的第 4 步(共 4 步)-圖表位置 對話框中,點選 「作為新工作紙 」選項,然後點選完成。
在 Microsoft Office Excel 2007 中,請依照下列步驟執行:
-
按一下 [插入] 索引標籤,再按一下 [圖表] 群組中的 [散佈圖],然後選取一種類型。
-
在 [設計] 索引標籤上,按一下 [位置] 群組中的 [移動圖表],再按一下 [新工作表],然後按一下 [確定]。
-
-
按 ALT+F11 啟動 Visual Basic 編輯器。
-
在 [插入] 功能表上,按一下 [模組]。
-
在模組工作表中輸入下列範例程式碼:
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 -
按 ALT+Q 返回 Excel。
-
切換至圖表。
-
在 Excel 2003 和舊版 Excel 中,指向 [工具] 功能表上的 [巨集],然後按一下 [巨集]。 按一下 [AttachLabelsToPoints],然後按一下 [執行] 以執行該巨集。在 Excel 2007 中,點選開發者標籤,在程式碼群組中點選巨集,選擇 AttachLabelsToPoints,然後點選執行。
此巨集會將儲存格 A2:A6 中的標籤附加至圖表上的資料點。