powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Моск в опасности: run-time error 1004 - невозможно получить свойство Name класса Series
2 сообщений из 2, страница 1 из 1
Моск в опасности: run-time error 1004 - невозможно получить свойство Name класса Series
    #36635428
John111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Две процедуры - первая добавляет последовательность данных для отрисовки графика, вторая удаляет ее. Первая работает, вторая нет - не может получить свойство

Worksheets("Diagram").ChartObjects("Chart 16").Chart.SeriesCollection(i).Name

Я уж и имя свойства полностью прописал и в первую процу блоком скопировал (то что заремлено) - там работает, синтаксис в норме, свойство доступно, и читается и пишется. Все находит и удаляет. Во второй проце указанное свойство недоступно, хотя свойство

.SeriesCollection.Count во второй проце читается.

И в Watches во второй проце то же самое - .Count читается, .Name нет.
Хотя последовательность создана первой процедурой и в Excele видна и сама последовательность и в исходных данных имя ряда - "Спред 1".

Посоветуйте, что можно поправить.



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
Private Sub AddNewChar(Name As String, col As Long, top As Long, bottom As Long, LineStyle As Long, MarkerBGColor As Long, MarkerFGColor As Long, MarkerStyle As Long, MarkerSize As Long)

    Dim i As Long, p As Long
    Dim CharSeries As Object
    
    
'    With Worksheets("Diagram").ChartObjects("Chart 16").Chart
'        For i = 1 To .SeriesCollection.Count
'            If Worksheets("Diagram").ChartObjects("Chart 16").Chart.SeriesCollection(i).Name = Name Then
'                .SeriesCollection(i).Delete
'                Exit For
'            End If
'        Next i
'    End With
    
    
    With Worksheets("Diagram").ChartObjects("Chart 16").Chart
        For i =  1  To .SeriesCollection.Count
            If .SeriesCollection(i).Name = Name Then
                Set CharSeries = .SeriesCollection(i)
                Exit For
            End If
        Next i
        If i > .SeriesCollection.Count Then Set CharSeries = .SeriesCollection.NewSeries
    End With
    
    
    With CharSeries
        .Name = Name
        .Border.LineStyle = LineStyle
        .MarkerBackgroundColorIndex = MarkerBGColor
        .MarkerForegroundColorIndex = MarkerFGColor
        .MarkerStyle = MarkerStyle
        .MarkerSize = MarkerSize
        .Shadow = False
        
bottom =  1000 
        p = Fix(bottom *  1 . 01 )
        .Values = "=Diagram!R" & top & "C" & col & ":R" & p & "C" & col
    End With

End Sub



Private Sub DeleteChar(Name As String)

    Dim i As Long
    
    With Worksheets("Diagram").ChartObjects("Chart 16").Chart
        For i =  1  To .SeriesCollection.Count
            If Worksheets("Diagram").ChartObjects("Chart 16").Chart.SeriesCollection(i).Name = Name Then
                .SeriesCollection(i).Delete
                Exit For
            End If
        Next i
    End With
            
    
End Sub
...
Рейтинг: 0 / 0
Моск в опасности: run-time error 1004 - невозможно получить свойство Name класса Series
    #36637666
John111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решено

Если кому интересно, поясню.
Проблема была в коде вызывающей процедуры:

неправильно
Код: plaintext
1.
2.
3.
        Worksheets("Diagram").Range("W10:X32000").Value = ""
        Call DeleteChar(Cells( 9 ,  23 ))
        Call DeleteChar(Cells( 9 ,  24 ))

правильно
Код: plaintext
1.
2.
3.
        Call DeleteChar(Cells( 9 ,  23 ))
        Call DeleteChar(Cells( 9 ,  24 ))
        Worksheets("Diagram").Range("W10:X32000").Value = ""

Сначала удаляем последовательность из графика, потом чистим диапазон данных.
Работа с последовательностью с пустыми данными некорректна.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Моск в опасности: run-time error 1004 - невозможно получить свойство Name класса Series
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]