Een macro gebruiken om labels toe te voegen aan gegevenspunten in een spreidings- of bellendiagram in Excel

Samenvatting

Microsoft Excel bevat geen ingebouwde opdracht voor het automatisch koppelen van tekst labels aan gegevenspunten in een spreidings- of bellendiagram. U kunt deze functionaliteit echter gebruiken in Excel door een VBA-macro (Visual Basic for Applications) te schrijven. Dit artikel bevat een voorbeeldmacro waarmee u deze bewerking kunt uitvoeren in een spreidingsdiagram. U kunt dezelfde code echter ook gebruiken voor een bellendiagram.

Meer informatie

Microsoft verstrekt deze code zonder enige expliciete of impliciete garantie, daaronder mede begrepen, maar niet beperkt tot impliciete garanties met betrekking tot de verkoopbaarheid en/of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend bent met de programmeertaal VBScript, alsmede met de hulpprogramma's waarmee procedures worden gemaakt en waarmee fouten in procedures worden opgespoord. Ondersteuningsmedewerkers van Microsoft kunnen helpen bij de uitleg over de functionaliteit van een bepaalde procedure. Deze medewerkers zullen de voorbeelden echter niet aanpassen om extra functionaliteit toe te voegen of om procedures te maken die aan uw specifieke eisen voldoen. In de voorbeeldcode in dit artikel wordt ervan uitgegaan dat de gegevens en bijbehorende labels op de volgende manier zijn opgenomen in een werkblad:

  • De eerste kolom bevat de gegevenslabels.

  • De tweede kolom bevat de x-waarden voor het spreidingsdiagram.

  • De derde kolom en de kolommen daarna bevatten de y-waarden voor het spreidingsdiagram.

Opmerking: Hoewel het voorbeeld maar één kolom met gegevens voor de y-waarden bevat, kunt u meer dan één gegevensreeks gebruiken.

Als u de macro's in dit artikel wilt gebruiken, maakt u een grafiek met de volgende gegevens: 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 Opmerking: De tabel mag geen lege kolommen bevatten en de kolom met de gegevenslabels moet onmiddellijk naast de kolom met de x-waarden staan. De labels en waarden moeten exact worden opgemaakt volgens de bovenstaande gegevens. (De cel in de linkerbovenhoek hoeft niet cel A te zijn.)

Ga als volgt te werk om tekstlabels te koppelen aan gegevenspunten in een spreidingsdiagram:

  1. Selecteer in het werkblad met de voorbeeldgegevens het bereik B1:C6.

  2. Ga als volgt te werk in Microsoft Office Excel 2003 en in oudere versies van Excel:

    1. Klik op Grafiek in het menu Invoegen .

    2. Klik in het dialoogvenster Wizard Grafieken - Stap 1 van 4 - Grafiektype op het tabblad Standaardtypen . Klik bij Grafiektypeop Spreidingen klik op Volgende.

    3. Klik in het dialoogvenster Wizard Grafieken - Stap 2 van 4 – Brongegevens van grafiek op het tabblad Gegevensbereik . Selecteer bij Reeksin het keuzerondje Kolommenen klik op Volgende.

    4. Klik in het dialoogvenster Wizard Grafieken - Stap 4 van 4 - Grafiekopties op Volgende.

    5. Selecteer in het dialoogvenster Wizard Grafieken - Stap 4 van 4 – Locatie grafiek het keuzerondje Als een nieuw blad en klik op Voltooien.

    Ga als volgt te werk in Microsoft Office Excel 2007:

    1. Open het tabblad Invoegen , klik op Spreiding in de groep Grafieken en selecteer een grafiektype.

    2. Open het tabblad Ontwerp , klik op Grafiek verplaatsen in de groep Locatie , selecteer Nieuw blad en klik op OK.

  3. Druk op Alt+F11 om de Visual Basic Editor te openen.

  4. Klik op Module in het menu Invoegen.

  5. Typ de volgende voorbeeldcode in het modulewerkblad:

    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. Druk op ALT+Q om terug te keren naar Excel.

  7. Ga naar het grafiekblad.

  8. Wijs in Excel 2003 en in eerdere versies van Excel de optie Macro aan in het menu Extra en klik op Macro's. Klik op AttachLabelsToPointsen klik op Uitvoeren om de macro uit te voeren.

    In Excel 2007 opent u het tabblad Ontwikkelaar , selecteert u Macro in de groep Code , selecteert u AttachLabelsToPointsen klikt u op Uitvoeren.

De macro koppelt de labels in cellen A2:A6 aan de gegevenspunten in de grafiek.

Meer hulp nodig?

Uw vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Microsoft insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

×