Я создал этот макрос, и он пропускает строку:
.ChartGroups(1).GapWidth = 30
Если я пройдусь по макросу, он сработает.
Я пытался добавить строку в нескольких местах, я пытался добавить задержку. Кажется, ничего не работает.
Макрос автоматизирует гистограмму для 3 входов для каждой строки.
Sub CreateCharts()
Dim cht As ChartObject
Dim SA_Row, erow As Integer
Dim Graph_Position As Variant
SA_Row = 5
Graph_Position = 79.5
erow = Worksheets("Graphs").UsedRange.Rows.count
For count = 5 To erow
Select Case Cells(SA_Row, 6)
Case Is <> ""
Set cht = Worksheets("Graphs").ChartObjects.Add(Top:=Graph_Position, Left:=910, Width:=160, Height:=75)
Set rng1 = Range(Cells(SA_Row, 6), Cells(SA_Row, 7))
Set rng2 = Union(Cells(SA_Row, 8), rng1)
cht.Chart.SetSourceData Source:=rng2
With cht.Chart
.HasAxis(xlValue) = False
.HasAxis(xlCategory) = False
.Axes(xlValue).MajorGridlines.Delete
.HasLegend = False
.ChartGroups(1).GapWidth = 30
.FullSeriesCollection(1).Points(1).Format.Fill.ForeColor.RGB = RGB(0, 204, 226)
.FullSeriesCollection(1).Points(2).Format.Fill.ForeColor.RGB = RGB(192, 0, 0)
.FullSeriesCollection(1).Points(3).Format.Fill.ForeColor.RGB = RGB(51, 204, 51)
.ApplyDataLabels
.PlotArea.Height = 65
.ChartArea.Border.LineStyle = xlNone
End With
SA_Row = SA_Row + 2
Graph_Position = Graph_Position + 80
Case Is = ""
SA_Row = SA_Row + 2
Graph_Position = Graph_Position + 26
End Select
Next count
End Sub
DoEvents не работал.
Мне не удалось добавить «.ChartGroups (1) .Select» из-за того, что объект / свойство не поддерживает его метод. Я попытался добавить его выше и в одной строке.