Sådan bruger du en makro til at føje etiketter til datapunkter i et xy-punktdiagram eller i et boblediagram i Excel

Sammenfatning

I Microsoft Excel findes der ingen indbygget kommando, der automatisk vedhæfter tekstetiketter til datapunkter i et xy-punktdiagram eller et boblediagram. Men du kan oprette en makro i Microsoft Visual Basic for Applications, der kan gøre dette. Denne artikel indeholder et eksempel på en makro, der udfører denne opgave på et XY-punktdiagram, men den samme kode kan bruges til et boblediagram.

Yderligere Information

Microsofts programmeringseksempler skal kun ses som eksempler, og Microsoft fralægger sig ethvert ansvar, det være sig udtrykkeligt eller stiltiende, herunder, men ikke begrænset til ansvar for salgbarhed og/eller egnethed til bestemte formål. Det forudsættes i denne artikel, at du kender ovennævnte programmeringssprog samt de værktøjer, der anvendes til at oprette og foretage fejlfinding i procedurer. Microsofts supportmedarbejdere kan hjælpe med at forklare funktionaliteten i en bestemt procedure, men vil ikke ændre eksemplerne, så de giver yderligere funktionalitet, eller oprette procedurer, der passer specielt til dine behov. Hvis du har begrænset programmeringserfaring, kan du kontakte en Microsoft Certified Partner. Yderligere oplysninger om Microsoft Certified Partners finder du på følgende Microsoft-websted: Yderligere oplysninger om de tilgængelige supportmuligheder, og om hvordan du kontakter Microsoft, finder du på følgende Microsoft-websted: Eksempelkoden i denne artikel antager, at dataene og de tilknyttede etiketter arrangeres i et regneark i henhold til følgende format:
  • I første kolonne findes dataetiketterne.
  • I anden kolonne findes x-værdierne til xy-punktdiagrammet.
  • I tredje og i de efterfølgende kolonner findes y-værdierne til xy-punktdiagrammet.
BEMÆRK! Selvom det viste eksempel kun indeholder én kolonne med data til y-værdier, kan du bruge mere end én dataserie.

Hvis du vil bruge makroerne i denne artikel, skal du oprette et diagram ved hjælp af følgende data:

A1: Etiketter B1: X-værdier C1: Y-værdier
A2: Datapunkt1 B2: 12 C2: 5
A3: Datapunkt2 B3: 9 C3: 7
A4: Datapunkt3 B4: 5 C4: 3
A5: Datapunkt4 B5: 4 C5: 8
A6: Datapunkt5 B6: 1 C6: 4
BEMÆRK! Tabellen bør ikke indeholde tomme kolonner, og den kolonne, der indeholder dataetiketterne, skal ikke adskilles fra den kolonne, der indeholder x -værdierne. Etiketterne og værdierne skal oprettes præcist i det format, der er beskrevet i denne artikel. (Den øverste celle til venstre behøver ikke at være celle A1).

Udfør disse trin for at vedhæfte tekstetiketter til datapunkter i et xy-punktdiagram:
  1. I regnearket med eksempeldataene skal du markere celleområdet B1:C6 og derefter klikke på Diagram i menuen Indsæt.
  2. Klik på fanen Standardtyper i dialogboksen Guiden Diagram – trin 1 af 4 – diagramtype. Klik på XY-punkt under Diagramtype, og klik derefter på Næste.
  3. Klik på fanen Dataområde i dialogboksen Guiden Diagram – trin 2 af 4 – kildedata til diagram. Klik på Kolonner under Serie i, og klik derefter på Næste.
  4. Klik på Næste i dialogboksen Guiden Diagram – trin 3 af 4 – diagramindstillinger.
  5. Klik på indstillingen Som nyt ark i dialogboksen Guiden Diagram – trin 4 af 4 – placering af diagram, og klik derefter på Udfør.
  6. Tryk på ALT+F11 for at starte Visual Basic Editor.
  7. Klik på Modul i menuen Indsæt.
  8. Skriv følgende eksempelkode i modularket:
    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
  9. Tryk på ALT+Q for at vende tilbage til Microsoft Excel.
  10. Skift til diagramarket.
  11. Peg på Makro i menuen Funktioner, og klik derefter på Makroer. Klik på AttachLabelsToPoints, og klik derefter på Kør for at køre makroen.

    Makroen vedhæfter etiketterne i cellerne A2:A6 til datapunkterne i diagrammet.
Egenskaber

Artikel-id: 213750 – Seneste udgave 23. nov. 2006 – Udgave 1

Feedback