Мои операторы If (ElseIf) кажутся только для первого оператора If. Я не уверен, что мне здесь не хватает. Это для диаграммы, границы которой меняются в зависимости от значений ячеек C3:D11. Диаграмма, по сути, представляет собой два перекрывающихся графика, поэтому у меня есть значение вторичной оси. Обе оси должны измениться в разделе IfElse.
Sub Pyramid()
Dim cht As Chart
Set cht = Worksheets("AP-Chart").ChartObjects("Chart 4").Chart
For Each cell In Range("C3:D11")
If cell.Value < -15 Then
cht.Axes(xlCategory).MinimumScale = -20
cht.Axes(xlValue, xlSecondary).MinimumScale = -20
ElseIf cell.Value > 15 Then
cht.Axes(xlCategory).MaximumScale = 20
cht.Axes(xlValue, xlSecondary).MaximumScale = 20
ElseIf cell.Value < -20 Then
cht.Axes(xlCategory).MinimumScale = -30
cht.Axes(xlValue, xlSecondary).MinimumScale = -30
ElseIf cell.Value > 20 Then
cht.Axes(xlCategory).MaximumScale = 30
cht.Axes(xlValue, xlSecondary).MaximumScale = 30
ElseIf cell.Value < -30 Then
cht.Axes(xlCategory).MinimumScale = -40
cht.Axes(xlValue, xlSecondary).MinimumScale = -40
ElseIf cell.Value > 30 Then
cht.Axes(xlCategory).MaximumScale = 40
cht.Axes(xlValue, xlSecondary).MaximumScale = 40
ElseIf cell.Value < -40 Then
cht.Axes(xlCategory).MinimumScale = -50
cht.Axes(xlValue, xlSecondary).MinimumScale = -50
ElseIf cell.Value > 40 Then
cht.Axes(xlCategory).MaximumScale = 50
cht.Axes(xlValue, xlSecondary).MaximumScale = 50
End If
Next cell
ActiveSheet.ChartObjects("Chart 4").Activate
ActiveChart.ChartArea.Select
myPDF = "\\stchsfs\arboari$\Profile-Data\Desktop\Export Trial1\c1-" & Sheets("AP").Range("C" & i + 3).Value2 & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=myPDF, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
i = i + 1
Next counter
End Sub
Спасибо!