Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

Следующая процедура VBA (Visual Basic для приложений) позволяет использовать значения ячеек в качестве меток данных на диаграммах в Excel для Mac. Чтобы использовать процедуру, выполните следующие действия.

  1. В Excel щелкните Сервис > Макросы > Записать новый макрос.

  2. В раскрывающемся списке Сохранить макрос в: выберите Личная книга макросов.

    Примечание: Сохранив процедуру VBA в книге личных макросов, вы можете использовать ее в любом экземпляре Excel. Это означает, что его использование не ограничивается только одной книгой.

  3. Нажмите кнопку ОК.

  4. Перейдите в раздел Средства > Макросы > остановить запись.

  5. Перейдите в раздел Средства > макросы > редакторе Visual Basic.

  6. Редактор Visual Basic (VBE) откроется над Excel. В области навигации слева разверните VBAProject (PERSONAL. XLSB) папка для отображения Module1.

  7. Дважды щелкните Module1 , чтобы открыть панель "Код", которая откроется в правой части окна VBE.

  8. Код VBA, созданный при записи нового макроса, не требуется, поэтому выберите все, а затем нажмите клавишу DELETE

  9. Затем выберите код VBA в текстовом поле ниже, нажмите CMD+C , чтобы скопировать его, а затем вставьте его обратно в область Код с помощью CMD+V. Теперь вы можете выйти из редактора Visual Basic и вернуться в Excel.

  10. Протестируйте макрос, создав диаграмму с метками данных. Затем выберите любую метку данных на диаграмме и запустите макрос, щелкнув Сервис > Макросы > Макросы. Выберите SetCustomDataLabels и нажмите кнопку Выполнить. Вам будет автоматически предложено выбрать диапазон меток данных, поэтому сделайте это, а затем нажмите кнопку ОК.  

    Примечание: Процедуры VBA не могут быть отменены, поэтому обязательно попробуйте использовать эту процедуру в копии книги. Если вы выполняете код и не хотите сохранять результаты, необходимо закрыть книгу, не сохраняя ее.

  11. При выходе из Excel убедитесь, что вы решили сохранить изменения в личном. XLSB, чтобы макрос был доступен в будущем.

  12. В любое время, когда вы хотите добавить или удалить метки данных из диаграммы, выберите метки данных и запустите макрос.

  13. Вы можете использовать Параметры > Excel> ленты & панели инструментов, чтобы добавить кнопку для запуска макроса с ленты или панели инструментов.

Процедура 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

Дополнительные сведения

Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×