Цикл диаграммы Vba с пустыми указателями

Мне нужно нарисовать диаграмму через каждые два столбца, у меня 30 столбцов, поэтому у меня есть 15 диаграмм. Я делаю это с циклом в диапазонах, но я не получаю баллов в большинстве диаграмм, и только в трех из них я получаю полное диаграмма, остальные пустые, я не знаю, что я делаю неправильно. изображение показывает, что я получаю

Sub loopChart(SheetName, ChartSheet, ChartTop)
' define variables
Dim myRange, newRange As Range
Dim c, r, l As Integer
Dim lRow As Long
Dim lColumn As Long

c = 1
r = 1
l = 0

' range of  each measure

lColumn = Sheets(SheetName).Cells(1, Columns.Count).End(xlToLeft).Column
lRow = Sheets(SheetName).Cells(Rows.Count, 1).End(xlUp).Row

'loop for each range of the data
While c < lColumn
'set data source for the next chart
    With Worksheets(SheetName)

        Set myRange = .Range(.Cells(1, c), .Cells(lRow, c + 1))


        For Each cell In myRange
            If cell.Value = "" Or cell.Offset(1, 0).Value = "" Then
                r = cell.Row
        Exit For
    End If
 Next

    Set newRange = .Range(.Cells(1, c), .Cells(r - 1, c + 1))

End With

'create chart
Sheets(ChartSheet).Select
    ActiveSheet.Shapes.AddChart.Select

    With ActiveChart

        '.Axes(xlValue)
        .ChartType = xlXYScatter 'xlLine
        .SetSourceData Source:=newRange, PlotBy:=xlColumns  'sets source data for graph including labels

        .SetElement (msoElementLegendRight)  'including legend
        .HasTitle = True
        'dimentions & location:

        .Parent.Top = ChartTop
        .Parent.Left = c * 200  'defines the coordinates for the left side of the chart
        .Parent.Height = 300
        .Parent.Width = 400
        .ChartTitle.Text = SheetName & " " & (c - l) ' name of the chart from the column of each range



    End With

c = c + 2
l = l + 1
Wend
End Sub

person anaclaudia_ec    schedule 08.11.2019    source источник
comment
Я решил это, сравнивая каждую ячейку в диапазоне, так как были пустые ячейки, которые не были распознаны как пустые, поэтому диапазон был до самой длинной ячейки: когда ячейки равны, означает, что больше нет значения, тогда код может рисовать до точка каждого диапазона   -  person anaclaudia_ec    schedule 12.11.2019
comment
Вы должны добавить свой код для этой проверки и указать его как ответ на свой вопрос. Кто-то другой может извлечь из этого пользу позже.   -  person jessi    schedule 13.11.2019