Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

Poniższa procedura języka VBA (Visual Basic for Applications) umożliwia używanie wartości komórek jako etykiet danych na wykresach w Excel dla komputerów Mac. Aby skorzystać z tej procedury, wykonaj następujące czynności:

  1. W programie Excel kliknij pozycję Narzędzia > makra> zarejestruj nowe makro.

  2. W polu listy rozwijanej Przechowuj makro w wybierz pozycję Skoroszyt makr osobistych.

    Uwaga: Przechowywanie procedury języka VBA w skoroszycie makr osobistych umożliwia korzystanie z niej w dowolnym wystąpieniu programu Excel. Oznacza to, że nie ogranicza się tylko do używania w jednym skoroszycie.

  3. Naciśnij przycisk OK.

  4. Przejdź do obszaru Narzędzia > makra, > zatrzymać rejestrowanie.

  5. Przejdź do obszaru Narzędzia > Makra > Edytora Visual Basic.

  6. Edytor Visual Basic (VBE) zostanie otwarty powyżej programu Excel. W okienku nawigacji po lewej stronie rozwiń projekt VBA (PERSONAL). XLSB), aby wyświetlić moduł Module1.

  7. Kliknij dwukrotnie moduł1 , aby wyświetlić okienko Kod, które zostanie otwarte po prawej stronie okna VBE.

  8. Kod języka VBA utworzony podczas rejestrowania nowego makra nie jest konieczny, więc zaznacz to wszystko, a następnie naciśnij klawisz Delete

  9. Następnie zaznacz kod języka VBA w polu tekstowym poniżej, naciśnij klawisze CMD+C , aby go skopiować, a następnie wklej go z powrotem w okienku Kod za pomocą klawiszy CMD+V. Teraz możesz zamknąć Edytor Visual Basic i wrócić do programu Excel.

  10. Przetestuj makro, tworząc wykres z etykietami danych. Następnie zaznacz dowolną etykietę danych na wykresie i uruchom makro, klikając pozycję Narzędzia > Makra > Makra. Wybierz pozycję SetCustomDataLabels, a następnie naciśnij przycisk Uruchom. Automatycznie zostanie wyświetlony monit o wybranie zakresu etykiet danych, więc zrób to, a następnie naciśnij przycisk OK.  

    Uwaga: Procedur języka VBA nie można cofnąć, dlatego warto wypróbować tę funkcję w kopii skoroszytu. Jeśli po uruchomieniu kodu nie chcesz zachowywać wyników, musisz zamknąć skoroszyt bez zapisywania go.

  11. Po zamknięciu programu Excel upewnij się, że chcesz zapisać zmiany w aplikacji OSOBISTE. XLSB, aby makro było dostępne w przyszłości.

  12. Za każdym razem, gdy chcesz dodać lub usunąć etykiety danych z wykresu, zaznacz etykiety danych i uruchom makro.

  13. Za pomocą programu Excel > Preferencje > Wstążki & pasku narzędzi można dodać przycisk uruchamiania makra ze wstążki lub paska narzędzi.

Procedura języka VBA

Option Explicit

Sub SetCustomDataLabels()
' make sure a series is selected
    If TypeOf Selection Is DataLabels Or TypeOf Selection Is Point Then
        Selection.Parent.Select
    ElseIf TypeOf Selection Is DataLabel Then
        Selection.Parent.Parent.Select
    End If

    If TypeOf Selection Is Series Then
        Else
        MsgBox "Select a chart series and try again."
        Exit Sub
    End If

    If Selection.HasDataLabels Then
        'If the data labels from cells are already showing, stop showing them and exit.
        'If labels include other info (e.g., values or categories) this will still appear
        If Selection.DataLabels.ShowRange Then
            Selection.DataLabels.ShowRange = False
            Exit Sub
        End If
    End If
 
'Use the InputBox dialog to set the range for the data labels
    On Error Resume Next
        Dim rng As Range
        Set rng = Application.InputBox(Prompt:="Select data label range.", Title:="Data Label Range", Type:=8)
    On Error GoTo 0

    If rng Is Nothing Then Exit Sub ' clicked cancel
        If Selection.HasDataLabels Then
            'This will include the new text from cells into existing data labels
        Else
        'Otherwise add data labels (empty labels)
            Selection.HasDataLabels = True
            Selection.DataLabels.ShowValue = False
        End If
    
    'Create a string that includes the sheet name and range reference.
    Dim rngAddress As String
        rngAddress = "='" & rng.Worksheet.Name & "'!" & rng.Address(RowAbsolute:=True, ColumnAbsolute:=True, External:=False)
        Selection.DataLabels.Format.TextFrame2.TextRange.InsertChartField msoChartFieldRange, rngAddress, 0
        Selection.DataLabels.ShowRange = True

End Sub

Potrzebujesz dodatkowej pomocy?

Zawsze możesz zadać pytanie ekspertowi w społeczności technicznej programu Excel lub uzyskać pomoc techniczną w Społecznościach.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×