你目前正处于脱机状态,正在等待 Internet 重新连接

如何在 Excel 中使用宏为 xy 散点图或气泡图中的数据点添加标签

针对 Office 2003 的支持已终止

Microsoft 已于 2014 年 4 月 8 日终止了针对 Office 2003 的支持。该更改已影响到您的软件更新和安全选项。 了解这一措施对于您的含义以及如何继续保持受保护状态。

概要
在 Microsoft Excel 中,没有可以自动向 xy(散点)或气泡图中的数据点附加文本标签的内置命令。但是,可以创建 Microsoft Visual Basic for Applications 宏来进行此操作。本文包含了一个对 XY 散点图执行此任务的示例宏,而相同代码也可用于气泡图。
更多信息
Microsoft 提供的编程示例只是为了进行说明,没有任何明示或暗示保证,包括(但不限于)对适销性和/或针对特定用途的适用性的暗示保证。本文假定您熟悉所演示的编程语言和用于创建和调试过程的工具。Microsoft 的技术支持人员可以帮助解释某个特定过程的功能,但是他们不会修改这些示例以提供额外的功能或构建过程以满足您的特殊需要。如果您的编程经验不够丰富,您可能需要与 Microsoft 认证伙伴联系或者拨打 Microsoft 收费咨询电话 (800) 936-5200。有关 Microsoft 认证伙伴的更多信息,请访问下面的 Microsoft 网站: 有关可用的支持选项以及如何与 Microsoft 联系的更多信息,请访问下面的 Microsoft 网站: 本文中的示例代码假定数据及关联的标签按照以下格式排列在工作表中:
  • 第一列包含数据标签。
  • 第二列包含 xy(散点)图的 x 值。
  • 第三列及后面的列包含 xy(散点)图的 y 值。
注意:虽然提供的示例仅包含一列 y 值数据,但您可以使用多列数据。

要使用本文中的宏,请使用下面的数据创建一个图表:
A1:标签           B1:X 值        C1:Y 值A2: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. 在“图表向导 – 4 步骤之 1 – 图表类型”对话框中,单击标准类型选项卡。在“图表类型”下,单击 XY 散点图,然后单击下一步
  3. 在“图表向导 – 4 步骤之 2 – 图表源数据”对话框中,单击数据区域选项卡。在“系列产生在”下,单击,然后单击下一步
  4. 在“图表向导 – 4 步骤之 3 – 图表选项”对话框中,单击下一步
  5. 在“图表向导 – 4 步骤之 4 – 图表位置”对话框中,单击“作为新工作表插入”选项,然后单击完成
  6. 按 Alt+F11 启动 Visual Basic 编辑器。
  7. 插入菜单上,单击模块
  8. 在模块工作表中键入下面的示例代码:
    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
  9. 按 Alt+Q 返回 Microsoft Excel。
  10. 切换到图表工作表。
  11. 工具菜单上,指向,然后单击。单击 AttachLabelsToPoints,然后单击运行以运行该宏。

    该宏会将单元格 A2:A6 中的标签附加到图表上的数据点。
xy-scatter XL2000 XL98 XL97 XL2001 XL2002 XLX XL2003
属性

文章 ID:213750 - 上次审阅时间:11/23/2006 07:51:00 - 修订版本: 3.4

Microsoft Office Excel 2003, Microsoft Excel 2002 标准版, Microsoft Excel 2000 标准版, Microsoft Excel 97 标准版, Microsoft Excel X for Mac, Microsoft Excel 2001 for Mac, Microsoft Excel 98 for Macintosh

  • kbhowto kbinfo kbchart kbprogramming kbdtacode KB213750
反馈