Jak utworzyć makro języka VBA dodające etykiety tekstowe do punktów danych wykresu xy (punktowego) lub wykresu bąbelkowego w programie Excel

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 213750 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Streszczenie

W programie Microsoft Excel nie ma żadnego wbudowanego polecenia, które automatycznie dołączałoby etykiety tekstowe do punktów danych na wykresie xy (punktowym) lub bąbelkowym. W tym celu można jednak użyć makra języka Microsoft Visual Basic for Applications. W tym artykule przedstawiono przykładowe makro, które wykonuje to zadanie w odniesieniu do wykresu xy (punktowego). Tego samego kodu można jednak użyć w odniesieniu do wykresu bąbelkowego.

Więcej informacji

Firma Microsoft podaje przykłady programowania wyłącznie do celów informacyjnych, bez jakichkolwiek gwarancji wyrażonych wprost lub dorozumianych. To dotyczy także, ale bez ograniczania do tego zapisu, gwarancji odnośnie do przydatności handlowej lub do określonego celu. W tym artykule zakłada się, że czytelnik zna prezentowany język programowania oraz narzędzia używane do tworzenia i debugowania procedur. Pracownicy Pomocy technicznej firmy Microsoft mogą służyć pomocą, wyjaśniając funkcję konkretnej procedury. Nie będą jednak modyfikować tych przykładów ani dodawać żadnej funkcji i konstruować nowych procedur w celu dostosowania ich do konkretnych potrzeb użytkownika. W przykładowym kodzie zamieszczonym w tym artykule przyjęto założenie, że dane i związane z nimi etykiety są rozmieszczone w arkuszu w następujący sposób:
  • Pierwsza kolumna zawiera etykiety danych.
  • Druga kolumna zawiera wartości x wykresu xy (punktowego).
  • Trzecia kolumna i następne zawierają wartości y wykresu xy (punktowego).
Uwaga: Wprawdzie podany przykład zawiera jedynie jedną kolumnę danych dla wartości y, ale można użyć większej liczby serii danych.

Aby użyć makra z tego artykułu, utwórz wykres, korzystając z następujących danych:
   A1: Etykiety       B1: Wartości X   C1: Wartości Y
   A2: PunktDanych1   B2: 12            C2: 5
   A3: PunktDanych2   B3: 9            C3: 7
   A4: PunktDanych3   B4: 5            C4: 3
   A5: PunktDanych4   B5: 4            C5: 8
   A6: PunktDanych5   B6: 1            C6: 4
Uwaga: Tabela nie powinna zawierać pustych kolumn, a kolumna zawierająca etykiety danych nie powinna być oddzielona od kolumny zawierającej wartości x. Etykiety i wartości muszą być rozmieszczone dokładnie tak, jak opisano w artykule. (Lewa górna komórka nie musi być komórką A1).

Aby dołączyć etykiety tekstowe do punktów danych wykresu xy (punktowego), wykonaj następujące kroki:
  1. W arkuszu zawierającym przykładowe dane zaznacz zakres komórek B1:C6.
  2. W programie Microsoft Office Excel 2003 i we wcześniejszych wersjach programu Excel wykonaj następujące kroki:
    1. W menu Wstaw kliknij polecenie Wykres.
    2. W oknie dialogowym Kreator wykresów - Krok 1 z 4 - Typ wykresu kliknij kartę Standardowe typy. W obszarze Typ wykresu kliknij pozycję XY (Punktowy), a następnie kliknij przycisk Dalej.
    3. W oknie dialogowym Kreator wykresów - krok 2 z 4 – Źródło danych kliknij kartę Zakres danych. W obszarze Serie w kliknij opcję Kolumny, a następnie kliknij przycisk Dalej.
    4. W oknie dialogowym Kreator wykresów - Krok 3 z 4 – Opcje wykresu kliknij przycisk Dalej.
    5. W oknie dialogowym Kreator wykresów - krok 4 z 4 – Położenie wykresu kliknij opcję Jako nowy arkusz, a następnie kliknij przycisk Zakończ.
    W programie Microsoft Office Excel 2007 wykonaj następujące kroki:
    1. Kliknij kartę Wstawianie, kliknij przycisk Punktowy w grupie Wykresy, a następnie wybierz typ.
    2. Na karcie Projektowanie kliknij przycisk Przenieś wykres w grupie Lokalizacja, kliknij przycisk Nowy arkusz, a następnie kliknij przycisk OK.
  3. Naciśnij klawisze ALT+F11, aby uruchomić Edytor Visual Basic.
  4. W menu Insert kliknij polecenie Module.
  5. Wpisz następujący kod w arkuszu modułu:
    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. Naciśnij klawisze ALT+Q, aby wrócić do programu Excel.
  7. Przejdź do arkusza wykresu.
  8. W programie Microsoft Office Excel 2003 i wcześniejszych wersjach programu Excel wskaż polecenie Makro w menu Narzędzia, a następnie kliknij polecenie Makra. Kliknij makro AttachLabelsToPoints, a następnie kliknij przycisk Uruchom, aby uruchomić makro.

    W programie Excel 2007 kliknij kartę Deweloper, kliknij przycisk Makra w grupie Kod, zaznacz pozycję AttachLabelsToPoints, a następnie kliknij przycisk Uruchom.
Makro dołączy etykiety z komórek A2:A6 do punktów danych na wykresie.

Właściwości

Numer ID artykułu: 213750 - Ostatnia weryfikacja: 22 listopada 2007 - Weryfikacja: 4.1
Informacje zawarte w tym artykule dotyczą:
  • 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 for Mac
  • Microsoft Excel 2001 for Mac
  • Microsoft Excel 98 for Macintosh
Słowa kluczowe: 
kbhowto kbinfo kbchart kbprogramming kbdtacode KB213750

Przekaż opinię

 

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