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

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

Zakończono świadczenie pomocy technicznej dla pakietu Office 2003

Firma Microsoft zakończyła świadczenie pomocy technicznej dla pakietu Office 2003 8 kwietnia 2014. Ta zmiana wpłynęła na Twoje aktualizacje oprogramowania i opcje zabezpieczeń. Dowiedz się, co to oznacza dla Ciebie i jak zapewnić sobie kontynuację ochrony.

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
mTracker.init();