#excel #vba
#excel #vba
Вопрос:
Я застрял на коде. Мне нужна ваша помощь, чтобы вставить определенный текст перед меткой линейной диаграммы. Как показано красным текстом на этом изображении:
Это текущий код, который у меня есть для ввода метки:
ActiveSheet.ChartObjects("Chart 4").Activate
ActiveChart.FullSeriesCollection(5).Select
ActiveChart.FullSeriesCollection(5).Points(10).Select
ActiveChart.FullSeriesCollection(5).Points(10).ApplyDataLabels
ActiveChart.FullSeriesCollection(5).DataLabels.Select
Selection.Format.TextFrame2.TextRange.Font.Bold = msoTrue
Я пробовал этот код для ввода текста, но он не работает:
ActiveChart.FullSeriesCollection(5).Points(10).DataLabel.Select
ActiveChart.SeriesCollection(5).DataLabels(10).Format.TextFrame2.TextRange. _
InsertAfter "Text - "
Ответ №1:
Это то, что вы пытаетесь?
ActiveSheet.ChartObjects("Chart 4").Activate
ActiveChart.FullSeriesCollection(5).Select
ActiveChart.FullSeriesCollection(5).Points(10).Select
ActiveChart.FullSeriesCollection(5).Points(10).ApplyDataLabels
ActiveChart.FullSeriesCollection(5).DataLabels.Select
Selection.Format.TextFrame2.TextRange.Font.Bold = msoTrue
ActiveChart.FullSeriesCollection(5).Points(10).DataLabel.Select
Debug.Print ActiveChart.SeriesCollection(5).DataLabels(10).Format.TextFrame2.TextRange.Text
With ActiveChart.SeriesCollection(5).DataLabels(10).Format.TextFrame2.TextRange
.Text = "Text - " amp; .Text
End With
Кстати, я бы рекомендовал избегать использования ActiveSheet
, Activate
Select
и т.д. Работа с объектами.
Комментарии:
1. Я попробовал введенный вами код, но . В тексте произошла ошибка, из-за которой не удалось получить свойство Count класса dataLabels. Я также попытался удалить его, чтобы проверить альтернативу, но это тоже не сработало.
2. Я обновил сообщение кодом, который мне надоел, и он работает.
3. Я скопировал и вставил его, однако он по-прежнему выдает ошибку. в строке debug.print . Ошибка времени выполнения ‘-2147467259 (80004005)’: не удается получить свойство Count класса dataLabels. учтено по вашей рекомендации