Makro do wyodrębniania danych z wykresu w programie Excel
Podsumowanie
W programie Microsoft Excel można pobierać dane z wykresu nawet wtedy, gdy dane są w zewnętrznym arkuszu lub skoroszycie. Jest to przydatne w sytuacjach, gdy wykres został utworzony lub połączony z innym plikiem, który jest niedostępny lub w jakiś sposób został uszkodzony. Gdy dane źródłowe do wykresu zostaną utracone, dane nadal można pobrać z samego wykresu przy użyciu makra Visual Basic for Applications firmy Microsoft.
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, jak działa określona procedura, ale nie będą modyfikować tych przykładów ani dodawać żadnych funkcji i konstruować nowych procedur w celu dostosowania ich do określonych potrzeb użytkownika.
Poniższe przykładowe makro umieszcza dane źródłowe wykresu w arkuszu o nazwie "ChartData" w aktywnym skoroszycie, począwszy od pierwszej kolumny i pierwszego wiersza.
Wprowadź następujący kod makra w arkuszu modułu:
Sub GetChartValues() Dim NumberOfRows As Integer Dim X As Object Counter = 2 ' Calculate the number of rows of data. NumberOfRows = UBound(ActiveChart.SeriesCollection(1).Values) Worksheets("ChartData").Cells(1, 1) = "X Values" ' Write x-axis values to worksheet. With Worksheets("ChartData") .Range(.Cells(2, 1), _ .Cells(NumberOfRows + 1, 1)) = _ Application.Transpose(ActiveChart.SeriesCollection(1).XValues) End With ' Loop through all series in the chart and write their values to ' the worksheet. For Each X In ActiveChart.SeriesCollection Worksheets("ChartData").Cells(1, Counter) = X.Name With Worksheets("ChartData") .Range(.Cells(2, Counter), _ .Cells(NumberOfRows + 1, Counter)) = _ Application.Transpose(X.Values) End With Counter = Counter + 1 Next End Sub
Wstaw nowy arkusz do skoroszytu i zmień jego nazwę na "ChartData" (bez cudzysłowów).
Wybierz wykres, z którego chcesz wyodrębnić bazowe wartości danych.
Uwaga
Wykres można osadzić w arkuszu lub w osobnym arkuszu wykresu.
Uruchom makro GetChartValues.
Dane z wykresu są umieszczane w arkuszu "ChartData".
Kroki łączenia wykresu z odzyskanymi danymi
Aby wykres był interaktywny z odzyskanymi danymi, musisz połączyć wykres z nowym arkuszem danych, zamiast zachowywać linki do brakującego lub uszkodzonego skoroszytu.
Wybierz wykres i kliknij serię, aby znaleźć nazwę arkusza, z którą wykres jest połączony w uszkodzonym lub brakującym skoroszycie. Nazwa arkusza jest wyświetlana w formule serii na pasku formuły.
Uwaga
Nazwa arkusza może być zgodna z nazwą skoroszytu, która jest ujęta w nawiasy kwadratowe, takie jak "[Book1]", i poprzedzać wykrzyknik "!" (lub apostrof i wykrzyknik "'!") wskazuje początek odwołania do komórki. Nazwa arkusza zawiera tylko znaki między zamkniętym symbolem nawiasu kwadratowego "]" a wykrzyknikiem (lub apostrofem i wykrzyknikiem). Jeśli jest bezpośrednio przed wykrzyknikiem, pozostaw apostrof, ponieważ apostrof nie może być ostatnim znakiem w nazwie arkusza.
Kliknij dwukrotnie kartę nowego arkusza o nazwie ChartData.
Wpisz oryginalną nazwę arkusza z kroku 1 nad wyróżnioną pozycją "ChartData" i naciśnij klawisz ENTER. Ta nazwa musi być taka sama jak nazwa arkusza z uszkodzonego lub brakującego skoroszytu.
Jeśli ten plik nie został zapisany przy użyciu wykresu i arkusza danych, zapisz plik.
W programie Excel 2003 lub Excel 2002 kliknij pozycję Linki w menu Edycja, a następnie kliknij pozycję Zmień źródło.
W programie Excel 2007 kliknij kartę Dane , kliknij pozycję Edytuj linki w grupie Connenctions , a następnie kliknij pozycję Zmień źródło.
W polu Plik źródłowy wybierz link do zmiany, a następnie kliknij pozycję Zmień źródło.
W oknie dialogowym Zmienianie łączy wybierz nowy plik z odzyskanymi danymi i wykresem, a następnie kliknij przycisk OK.
Jeśli zostanie wyświetlony następujący komunikat o błędzie
Formuła zawiera nieprawidłowe odwołanie zewnętrzne do arkusza.
Prawdopodobnie nazwa arkusza wpisana w kroku 3 nie jest taka sama jak oryginalna. Wstecz do kroku 1.
Pole Plik źródłowy może być teraz puste. Oznacza to, że wszystkie linki wskazują aktywny plik, a nie brakujący lub uszkodzony plik. Kliknij przycisk Zamknij.
Wykres odwołuje się teraz do odzyskanych danych i wchodzi w interakcje z nimi w arkuszu o zmienionej nazwie w aktywnym skoroszycie.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla