добавь в код макроса условие ,.чтобы код Selection.Format.TextFrame2.VerticalAnchor = msoAnchorTop заработал: Sub ИзменитьЦвет2()
    Dim ws As Worksheet
    Dim chartObj As ChartObject
    Dim chart As chart
    Dim series As series
    Dim targetColorZS As Long
    Dim targetColor11 As Long
    Dim chartFound As Boolean
    Dim iPoint As Long

    ' Цвет для диаграммы "ZS"
    targetColorZS = RGB(68, 114, 116)
    ' Цвет для диаграммы "Диаграмма11" (белый)
    targetColor11 = RGB(255, 255, 255)

    ' ========== ОБРАБОТКА ДИАГРАММЫ "ZS" ==========
    chartFound = False
    For Each ws In ActiveWorkbook.Worksheets
        For Each chartObj In ws.ChartObjects
            If chartObj.Name = "ZS" Then
                Set chart = chartObj.chart
                chartFound = True
                Exit For
            End If
        Next chartObj
        If chartFound Then Exit For
    Next ws

    If chartFound Then
        On Error Resume Next

        For Each series In chart.SeriesCollection
            ' Задаём цвет заливки ряда
            series.Format.Fill.ForeColor.RGB = targetColorZS
            ' Задаём цвет маркеров
            series.MarkerBackgroundColor = targetColorZS
            series.MarkerForegroundColor = targetColorZS

            ' Включаем подписи данных, если их нет
            If Not series.HasDataLabels Then
                series.HasDataLabels = True
            End If
            
            ' Настройка каждого маркера (точки ряда)
            For iPoint = 1 To series.Points.count
                With series.Points(iPoint).Format.Fill
                    .Visible = msoTrue
                    .ForeColor.RGB = targetColorZS
                    .Solid
                End With
                With series.Points(iPoint).Format.Line
                    .Visible = msoTrue
                    .ForeColor.RGB = targetColorZS
                    .Weight = 1.5
                End With
            Next iPoint

            ' Настройка подписей данных
            With series.DataLabels
                .position = xlLabelPositionBelow
                .HorizontalAlignment = xlCenter
                .VerticalAlignment = xlTop
                ' Отображать только имя ряда
                .ShowSeriesName = True
                .ShowValue = False
                .ShowCategoryName = False
                .ShowPercentage = False
            End With

            With series.DataLabels.Font
                .Size = 28
                .Color = RGB(0, 0, 0)
                Selection.Format.TextFrame2.VerticalAnchor = msoAnchorTop
            End With

            ' Задаём ширину и высоту окна подписи данных
            Dim dl As dataLabel
            For Each dl In series.DataLabels
                dl.Width = 240
                dl.Height = 180
            Next dl
        Next series

        ' Настройка легенды (если она имеется)
        If chart.HasLegend Then
            With chart.legend.Font
                .Size = 28
                .Color = RGB(0, 0, 0)
            End With
        End If

        On Error GoTo 0
    End If

    ' ========== ОБРАБОТКА ДИАГРАММЫ "11" ==========
    chartFound = False
    For Each ws In ActiveWorkbook.Worksheets
        For Each chartObj In ws.ChartObjects
            If chartObj.Name = "11" Then
                Set chart = chartObj.chart
                chartFound = True
                Exit For
            End If
        Next chartObj
        If chartFound Then Exit For
    Next ws

    If chartFound Then
        On Error Resume Next

        For Each series In chart.SeriesCollection
            ' Задаём цвет заливки ряда
            series.Format.Fill.ForeColor.RGB = targetColor11
            ' Задаём цвет маркеров
            series.MarkerBackgroundColor = targetColor11
            series.MarkerForegroundColor = targetColor11

            ' Включаем подписи данных (уже включено по условиям задания)
            series.HasDataLabels = True

            ' Настройка каждого маркера (точки ряда)
            For iPoint = 1 To series.Points.count
                With series.Points(iPoint).Format.Fill
                    .Visible = msoTrue
                    .ForeColor.RGB = targetColor11
                    .Transparency = 0
                    .Solid
                End With
                With series.Points(iPoint).Format.Line
                    .Visible = msoTrue
                    .ForeColor.RGB = RGB(68, 114, 116)
                    .Weight = 1.5
                    .Transparency = 0
                End With
            Next iPoint

            ' Настройка подписей данных
            With series.DataLabels
                .position = xlLabelPositionBelow
                .HorizontalAlignment = xlCenter
                .VerticalAlignment = xlTop
                ' Отображать только имя ряда
                .ShowSeriesName = True
                .ShowValue = False
                .ShowCategoryName = False
                .ShowPercentage = False
            End With

            With series.DataLabels.Font
                .Size = 28
                .Color = RGB(0, 0, 0)
            End With

            With series.DataLabels.Format.TextFrame2.TextRange.Font.Fill
                .ForeColor.RGB = RGB(0, 0, 0)
                .Transparency = 0
                Selection.Format.TextFrame2.VerticalAnchor = msoAnchorTop
                                
            End With

            ' Задаём ширину и высоту окна подписи данных
            Dim dl2 As dataLabel
            For Each dl2 In series.DataLabels
                dl2.Width = 240
                dl2.Height = 180
            Next dl2
        Next series

        On Error GoTo 0
    End If
End Sub