Jesteś obecnie w trybie offline. Czekamy na ponowne połączenie z Internetem.

Twoja przeglądarka nie jest obsługiwana

Aby używać tej witryny, musisz zaktualizować przeglądarkę.

Zaktualizuj przeglądarkę do najnowszej wersji programu Internet Explorer

Makro umożliwiające wyodrębnianie danych z wykresu w programie Excel

Support for Office 2003 has ended

Microsoft ended support for Office 2003 on April 8, 2014. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

Ten artykuł został opublikowany wcześniej pod numerem PL300643
Wersja tego artykułu dla programu Microsoft Excel 2000: 213814.
Wersja tego artykułu dla programu Microsoft Excel 98 i starszych wersji: 137016.
Streszczenie
W programie Microsoft Excel można pobierać dane z wykresu, nawet jeśli znajdują się one w zewnętrznym arkuszu lub skoroszycie. Jest to przydatne zwłaszcza w sytuacjach, gdy wykres został utworzony z innego pliku lub jest z nim połączony, a plik ten jest niedostępny lub został uszkodzony. W przypadku utraty danych źródłowych wykresu można je nadal odzyskać z samego wykresu za pomocą makra Microsoft Visual Basic for Applications.
Więcej informacji
Firma Microsoft podaje przykłady programowania tylko dla celów ilustracyjnych, nie udzielając żadnej rękojmi, wyrażonej wprost lub domyślnie, w tym także, bez ograniczeń, domyślnej 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 w celu dodania jakichś funkcji ani konstruować nowych procedur w celu dostosowania ich do potrzeb użytkownika.

Następujące przykładowe makro umieszcza dane źródłowe wykresu w aktywnym skoroszycie, w arkuszu o nazwie „ChartData”, rozpoczynając w pierwszej kolumnie i w pierwszym wierszu.
  1. Wprowadź następujący kod makro 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   NextEnd Sub					
  2. Wstaw do skoroszytu nowy arkusz i zmień jego nazwę na „ChartData” (bez cudzysłowu).
  3. Wybierz wykres, z którego chcesz wyodrębnić podstawowe wartości danych.

    UWAGA: Wykres może zostać osadzony w skoroszycie lub w osobnym arkuszu wykresu.
  4. Uruchom makro GetChartValues.

    Dane z wykresu są umieszczane w arkuszu „ChartData”.

Sposób połączenia wykresu z odzyskanymi danymi

Aby wykres współdziałał z odzyskanymi danymi, należy połączyć go z nowym arkuszem danych, nie zachowując łączy do brakującego lub uszkodzonego skoroszytu.
  1. Zaznacz wykres i wybierz serię, aby znaleźć nazwę arkusza w uszkodzonym lub brakującym skoroszycie, z którym połączony jest wykres. Nazwa arkusza zostanie wyświetlona w formule serii na pasku formuły.

    UWAGA: Nazwa arkusza może występować po nazwie skoroszytu zawartej w nawiasie kwadratowym, np. „[Skoroszyt1]” i przed wykrzyknikiem „'!” (lub apostrofem i wykrzyknikiem „!”) wskazującym początek adresu komórki. Nazwa arkusza obejmuje wyłącznie znaki zawarte między zamknięciem nawiasu kwadratowego „]” i wykrzyknikiem (lub apostrofem i wykrzyknikiem). Należy pominąć wszystkie apostrofy bezpośrednio przed wykrzyknikiem, ponieważ apostrof nie może być ostatnim znakiem w nazwie arkusza.
  2. Kliknij dwukrotnie kartę nowego arkusza o nazwie ChartData.
  3. Wpisz oryginalną nazwę arkusza z kroku 1 w podświetlonym obszarze „ChartData” i naciśnij klawisz ENTER. Nazwa musi być taka sama jak nazwa arkusza z uszkodzonego lub brakującego skoroszytu.
  4. Jeśli plik z wykresem i arkuszem danych nie został zapisany, zapisz go.
  5. W programie Excel 2003 lub Excel 2002 kliknij polecenie Łącza w menu Edycja, a następnie kliknij polecenie Zmień źródło.

    W programie Excel 2007 kliknij kolejno kartę Dane, polecenie Edytuj łącza w grupie Połączenia oraz polecenie Zmień źródło.
  6. W polu Plik źródłowy zaznacz łącze, które ma zostać zmienione, a następnie kliknij polecenie Zmień źródło.
  7. W oknie dialogowym Zmienianie łączy wybierz nowy plik z odzyskanymi danymi i wykresem, a następnie kliknij przycisk OK.
  8. Jeśli pojawi się następujący komunikat o błędzie
    Your formula contains an invalid external reference to a worksheet. (Formuła zawiera nieprawidłowe odwołanie zewnętrzne do skoroszytu),
    prawdopodobnie nazwa skoroszytu wprowadzona w kroku 3 nie jest taka sama jak oryginał. Wróć do kroku 1.
  9. Pole Plik źródłowy może być teraz puste. Oznacza to, że wszystkie łącza wskazują na aktywny plik, a nie na brakujący lub uszkodzony plik. Kliknij przycisk Zamknij.
Wykres odwołuje się teraz do odzyskanych danych w arkuszu o zmienionej nazwie w aktywnym skoroszycie i współdziała z nimi.
link unlink recover corrupt damage repair inf XL2002 XL2003 XL2007
Właściwości

Identyfikator artykułu: 300643 — ostatni przegląd: 02/22/2007 16:55:10 — zmiana: 4.0

  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • kbdtacode kbhowto kbprogramming KB300643
Opinia
s'><\/script>"); .microsoft.com/c.gif?DI=4050&did=1&t=">ext/javascript"> Asimov.clickstreamTracker.init(); >cript type="text/javascript" src="https://c.microsoft.com/ms.js">