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

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 213750 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Samenvatting

Microsoft Excel bevat geen ingebouwde opdracht voor het automatisch koppelen van tekstlabels 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. U kunt desgewenst contact opnemen met Microsoft Product Support Services voor uitleg over de functionaliteit van een bepaalde procedure. Microsoft Product Support Services is echter niet bereid de voorbeelden aan te passen 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-waarden   C1: Y-waarden
   A2: Gegevenspunt1   B2: 12          C2: 5
   A3: Gegevenspunt2   B3:  9          C3: 7
   A4: Gegevenspunt3   B4:  5          C4: 3
   A5: Gegevenspunt4   B5:  4          C5: 8
   A6: Gegevenspunt5   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 Grafiektype op Spreiding en klik op Volgende.
    3. Klik in het dialoogvenster Wizard Grafieken - Stap 2 van 4 ? Brongegevens van grafiek op het tabblad Gegevensbereik. Selecteer bij Reeks in het keuzerondje Kolommenen klik op Volgende.
    4. Klik in het dialoogvenster Wizard Grafieken - Stap 3 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 in het menu Invoegen op Module.
  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 AttachLabelsToPoints en 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 AttachLabelsToPoints en klikt u op Uitvoeren.
De macro koppelt de labels in cellen A2:A6 aan de gegevenspunten in de grafiek.

Eigenschappen

Artikel ID: 213750 - Laatste beoordeling: dinsdag 29 april 2008 - Wijziging: 4.2
De informatie in dit artikel is van toepassing op:
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 97 Standard Edition
  • Microsoft Excel X voor Mac
  • Microsoft Excel 2001 voor Mac
  • Microsoft Excel 98 voor Macintosh
Trefwoorden: 
kbchart kbdtacode kbhowto kbinfo kbprogramming KB213750

Geef ons feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com