Инициализировать и вызывать переменные

Я пытаюсь создать макрос в excel с помощью Visual Basic. У меня возникла проблема, когда я пытаюсь вызвать свои переменные. Я никогда раньше не кодировал Visual Basic, поэтому я не уверен, правильно ли инициализирую и вызываю все свои переменные.

Вот код, с которым я работаю:

Sub Graphing2()
'
' Graphing2 Macro
'

'
    Dim a, b, y, x As Long
    a = 176
    b = 126
    y = 3
    x = 0
    Do While x < 225
    ActiveSheet.ChartObjects("Chart 1").Activate
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.FullSeriesCollection(2).Name = "=""Unit y"""
    ActiveChart.FullSeriesCollection(2).XValues = "=Sheet1!$B$a:$B$b"
    ActiveChart.FullSeriesCollection(2).Values = "=Sheet1!$E$a:$E$b"
    x = x + 1
    y = y + 1
    a = a + 67
    b = b + 67
    Loop
End Sub

Любая помощь в том, как инициализировать, а затем вызывать переменные, будет полезна. Спасибо


person Mohamad Ziadeh    schedule 21.07.2020    source источник


Ответы (1)


Непроверено, но некоторые указатели здесь:

Sub Graphing2()
    'must specify type for each variable....
    Dim a As Long, b As Long, y As Long, x As Long
    Dim cht As Chart 'declare a chart variable
    
    a = 176
    b = 126
    y = 3
    
    Set cht = ActiveSheet.ChartObjects("Chart 1").Chart
    
    'user a For Next loop for fixed sequences
    For x = 0 To 244
        
        With cht.SeriesCollection.NewSerie 'NewSeries returns the added series
            'concatenate your variables
            .Name = "Unit " & y
            .XValues = "=Sheet1!$B$" & a & ":$B$" & b
            .Values = "=Sheet1!$E$" & a & ":$E$" & b
        End With
        
        y = y + 1
        a = a + 67
        b = b + 67
    Next x
End Sub
person Tim Williams    schedule 21.07.2020
comment
Я не думаю, что в Excel есть метод NewSeries. Поскольку он говорит, что этот метод не найден. - person Mohamad Ziadeh; 21.07.2020