Cómo utilizar una macro para agregar etiquetas a puntos de datos en un gráfico de dispersión xy o en un gráfico de burbujas en Excel

Resumen

En Microsoft Excel no hay ningún comando integrado que asocie automáticamente las etiquetas de texto a los puntos de datos en un gráfico de burbujas o xy (de dispersión). Sin embargo, puede crear una macro de Microsoft Visual Basic para Aplicaciones que haga esto. Este artículo contiene una macro de ejemplo que realiza esta tarea en un gráfico de dispersión XY. Sin embargo, el mismo código se puede utilizar para un gráfico de burbujas.

Más información

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía, ya sea expresa o implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. En este artículo se da por supuesto que ya conoce el lenguaje de programación que se muestra, así como las herramientas empleadas para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden ayudar a explicar la funcionalidad de un procedimiento en particular. Sin embargo, no modificarán estos ejemplos para proporcionar una funcionalidad adicional ni crearán procedimientos que se adapten a sus necesidades específicas. En el código de ejemplo de este artículo se supone que los datos y las etiquetas asociadas se organizan en una hoja de cálculo según el formato siguiente:

  • La primera columna contiene las etiquetas de datos.

  • La segunda columna contiene los valores de x para el gráfico xy (de dispersión).

  • La tercera columna y las siguientes contienen los valores y para el gráfico xy (de dispersión).

NOTA: aunque el ejemplo proporcionado contiene sólo una columna de datos para los valores y, puede utilizar más de una serie de datos.

Para utilizar las macros de este artículo, cree un gráfico con los datos siguientes: 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 NOTA: la tabla no debería contener columnas vacías y la columna que contenga las etiquetas de datos no se debería separar de la columna que contiene los valores x. Las etiquetas y los valores se deben disponer exactamente en el formato que se describe en este artículo. (La celda superior izquierda no tiene que ser la celda A1).

Para asociar etiquetas de texto a los puntos de datos en un gráfico xy (de dispersión), siga estos pasos:

  1. En la hoja de cálculo que contiene los datos de ejemplo, seleccione el rango de celdas B1:C6.

  2. En Microsoft Office Excel 2003 y en versiones anteriores, siga estos pasos:

    1. En el menú Insertar, haga clic en Gráfico.

    2. En el cuadro de diálogo Asistente para gráficos - paso 1 de 4: tipo de gráfico, haga clic en la pestaña Tipos estándar. En Tipo de gráfico, haga clic en XY (Dispersión) y, después, en Siguiente.

    3. En el cuadro de diálogo Asistente para gráficos - paso 2 de 4: datos de origen, haga clic en la pestaña Rango de datos. En Series en, haga clic en Columnas y, después, en Siguiente.

    4. En el cuadro de diálogo Asistente para gráficos - paso 3 de 4: opciones de gráfico, haga clic en Siguiente.

    5. En el cuadro de diálogo Asistente para gráficos - paso 4 de 4: ubicación del gráfico, haga clic en Como hoja nueva y, después, en Finalizar.

    En Microsoft Office Excel 2007, siga estos pasos:

    1. Haga clic en la pestaña Insertar y, después, en Dispersión, en el grupo Gráficos. A continuación, seleccione un tipo.

    2. En la pestaña Diseño, haga clic en Mover gráfico, en el grupo Ubicación. Después, haga clic en Nueva hoja y, luego, en Aceptar.

  3. Presione ALT+F11 para iniciar el Editor de Visual Basic.

  4. En el menú Insertar, haga clic en Módulo.

  5. Escriba el siguiente código en la nueva hoja:

    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. Presione ALT+Q para volver a Excel.

  7. Cambie a la hoja del gráfico.

  8. En Excel 2003 y versiones anteriores, seleccione Macro en el menú Herramientas y haga clic en Macros. Haga clic en AttachLabelsToPoints y, después, en Ejecutar para ejecutar la macro.

    En Excel 2007, haga clic en la pestaña Programador y, luego, en Macro, en el grupo Código. Después, seleccione AttachLabelsToPoints y haga clic en Ejecutar.

La macro asocia las etiquetas de las celdas A2:A6 a los puntos de datos del gráfico.

¿Necesita más ayuda?

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Unirse a Microsoft Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×