Добрый день. Нужна помощь. Необходимо чтобы подписи данных в столбцах диаграммы с отрицательными значения окрашивались в красный цвет, а с положительными в черный Возникла проблема, при изменении подписи данных столбцов диаграммы из указанного диапазона, все значения окрашиваются в один цвет(черный).
Добрый день. Нужна помощь. Необходимо чтобы подписи данных в столбцах диаграммы с отрицательными значения окрашивались в красный цвет, а с положительными в черный Возникла проблема, при изменении подписи данных столбцов диаграммы из указанного диапазона, все значения окрашиваются в один цвет(черный).lelya7
Sub ColorFontInDataLabel() '' Author: boa '' Written: 27.06.2018 ' Description: во всех диаграммах активной книги красит шрифт в "Подписи данных" в зависимости от знака числа(+/-) Dim sh As Worksheet Dim oChart As ChartObject Dim i As Integer, j As Integer On Error Resume Next With ActiveWorkbook For Each sh In .Worksheets For Each oChart In sh.ChartObjects 'Debug.Print oChart.Name For j = 1 To oChart.Chart.FullSeriesCollection.Count With oChart.Chart.FullSeriesCollection(j) 'Debug.Print .Name For i = 1 To .Points.Count With .Points(i).DataLabel If Err.Number = 0 Then If .Caption Like "*-*" Then .Font.Color = vbRed Else .Font.Color = vbBlack End If Else Err.Clear End If End With Next i End With Next j Next oChart Next sh End With End Sub
[/vba]
Здравствуйте, lelya7, Такое можно только макросом
[vba]
Код
Option Explicit
Sub ColorFontInDataLabel() '' Author: boa '' Written: 27.06.2018 ' Description: во всех диаграммах активной книги красит шрифт в "Подписи данных" в зависимости от знака числа(+/-) Dim sh As Worksheet Dim oChart As ChartObject Dim i As Integer, j As Integer On Error Resume Next With ActiveWorkbook For Each sh In .Worksheets For Each oChart In sh.ChartObjects 'Debug.Print oChart.Name For j = 1 To oChart.Chart.FullSeriesCollection.Count With oChart.Chart.FullSeriesCollection(j) 'Debug.Print .Name For i = 1 To .Points.Count With .Points(i).DataLabel If Err.Number = 0 Then If .Caption Like "*-*" Then .Font.Color = vbRed Else .Font.Color = vbBlack End If Else Err.Clear End If End With Next i End With Next j Next oChart Next sh End With End Sub