Podsumowanie
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 tylko dla celów ilustracyjnych, nie udzielając żadnej rękojmi, wyrażonej wprost ani dorozumianej, w tym także, ale nie tylko, dorozumianej rękojmi co do przydatności handlowej lub do określonych celów. W tym artykule zakłada się, że czytelnik zna demonstrowany język programowania oraz narzędzia używane do tworzenia i debugowania procedur. Wykwalifikowani pracownicy Pomocy technicznej firmy Microsoft mogą pomóc w wyjaśnieniu działania określonej procedury. Nie będą oni jednak modyfikować tych przykładów w celu dodania funkcji ani konstruować nowych procedur celem dostosowania ich do 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: 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 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 w takim formacie, jak opisano w tym 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:-
W arkuszu zawierającym przykładowe dane zaznacz zakres komórek B1:C6.
-
W programie Microsoft Office Excel 2003 i we wcześniejszych wersjach programu Excel wykonaj następujące kroki:
-
W menu Insert (Wstaw) kliknij polecenie Chart (Wykres).
-
W oknie dialogowym Chart Wizard - Step 1 of 4 - Chart Type (Kreator wykresów - Krok 1 z 4 - Typ wykresu) kliknij kartę Standard Types (Typy standardowe). W obszarze Chart type (Typ wykresu) kliknij opcję XY (Scatter) (XY [Punktowy]), a następnie kliknij przycisk Next (Dalej).
-
W oknie dialogowym Chart Wizard - Step 2 of 4 - Chart Source Data (Kreator wykresów - Krok 2 z 4 - Źródło danych wykresu) kliknij kartę Data Range (Zakres danych). W obszarze Series in (Serie w) kliknij opcję Columns (Kolumny), a następnie kliknij przycisk Next (Dalej).
-
W oknie dialogowym Chart Wizard - Step 3 of 4 - Chart Options (Kreator wykresów - Krok 3 z 4 - Opcje wykresu) kliknij przycisk Next (Dalej).
-
W oknie dialogowym Chart Wizard - Step 4 of 4 - Chart Location (Kreator wykresów - Krok 4 z 4 - Lokalizacja wykresu) kliknij opcję As new sheet (Jako nowy arkusz), a następnie kliknij przycisk Finish (Zakończ).
W programie Microsoft Office Excel 2007 wykonaj następujące kroki:
-
Kliknij kartę Insert (Wstaw), kliknij opcję Scatter (Punktowy) w grupie Charts (Wykresy), a następnie wybierz typ.
-
Na karcie Design (Projekt), kliknij opcję Move Chart (Przenieś wykres) w grupie Location (Lokalizacja), kliknij opcję New sheet (Nowy arkusz), a następnie kliknij przycisk OK.
-
-
Naciśnij klawisze ALT+F11, aby uruchomić Edytor Visual Basic.
-
W menu Insert (Wstaw) kliknij polecenie Module (Moduł).
-
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
-
Naciśnij klawisze ALT+Q, aby wrócić do programu Excel.
-
Przejdź do arkusza wykresu.
-
W programie Excel 2003 i wcześniejszych wersjach programu Excel wskaż polecenie Makro w menu Narzędzia, a następnie kliknij polecenie Makra. Kliknij pozycję AttachLabelsToPoints, a następnie kliknij przycisk Uruchom, aby uruchomić makro.
W programie Excel 2007 kliknij kartę the Deweloper, kliknij opcję Makro w grupie Kod, wybierz pozycję AttachLabelsToPoints, a następnie kliknij przycisk Uruchom.
Makro dołączy etykiety z komórek A2:A6 do punktów danych na wykresie.