Ошибка установки PlotArea.Width в Excel, VBA (Excel 2010)

Я испытываю ошибку в подпрограмме, пытающейся установить свойство диаграммы plotarea.width диаграммы.

Другие измерения также вызывают эту ошибку, если я закомментирую предыдущую строку (и). Нет ActiveChart, нет выбора и т. Д. Конкретное сообщение об ошибке: «-2147467259 (80004005) Method 'Ширина» объектаPlotArea» не удалось"

Это ставит меня в тупик по нескольким причинам:

В режиме отладки F8 для пошагового выполнения кода ошибка НЕ возникает.НАСКОЛЬКО МНЕ ИЗВЕСТНО "ширина» это не "метод» но "имущество" графика "s plotarea, поэтому даже сообщение об ошибке довольно неоднозначно.

Какие-нибудь мысли? Вот'содержит столько кода, сколько я могу поделиться, подпрограмма ChartSizeMedium во всей ее полноте и фиктивный фрагмент кода, чтобы показать вам, как я устанавливаю диаграмму и передаю ее той подпрограмме, которая устанавливает размер & некоторые другие свойства перед передачей другой функции, которая добавляет данные ряда в диаграмму.

    Option Explicit
    Private Sub EstablishChartObject()
    Dim cObj as ChartObject
    Set cObj = ActiveSheet.ChartObjects.Add(Left:=30, Top:30, Width:=740, Height:=300)
        ChartSizeMedium cObj.Chart, "Integer", "Example Chart Title"
    End Sub
    Private Sub ChartSizeMedium(cht As Chart, NumType As String, Optional chtTitle As String)
    'Subroutine to make a consistent size chart
    Dim s As Long
    With cht
    'Add a chart title if one exists.
        If Len(chtTitle) > 0 Then
        .HasTitle = True
        .chartTitle.Characters.Text = chtTitle
        End If
    'Create the default chart Legend
        .HasLegend = True
        With .Legend
        .Position = xlTop
        .Font.Size = 11
        .Font.Bold = True
        End With
    'Format the axes
        .Axes(xlValue).MajorGridlines.Format.Line.Visible = msoFalse
        .Axes(xlValue).MinorGridlines.Format.Line.Visible = msoFalse

    'Format the size of the chart
        With .Parent
        .Width = 740
        .Height = 396
        End With

        With .PlotArea
        .Width = 640    '

Ответы на вопрос(6)

Ваш ответ на вопрос