Я пытаюсь включить пользовательские бары стандартного отклонения в диаграмму с помощью VBA, но я продолжаю получать ошибку времени выполнения 13 «несоответствие типов» в строке, которая фактически добавляет бары. Я считаю, что у него проблема с моим объектом диапазона (rngStD), но я не знаю почему. Я использую этот VBA в Access, но я создал приложение Excel (xlApp), в котором сейчас находятся данные и где создаются графики.
'Start of relevant code
xlApp.Sheets("Monday").Select
Set rngAv = Range(Cells(numRows + 2, 3), Cells(numRows + 2, 26))
Set rngStD = Range(Cells(numRows + 3, 3), Cells(numRows + 3, 25))
xlApp.Sheets("Graphs").Select
'Creates graph for average usage with standard deviation at each point
Set oChart = xlApp.Worksheets("Graphs").ChartObjects.Add(600, 10, 500, 250).Chart
oChart.SetSourceData Source:=rngAv 'xlApp.Selection
oChart.Type = xlLine
oChart.HasTitle = True
oChart.ChartTitle.Text = "Average Usage for Mondays"
'At this point the code works and correctly creates the above graph
With oChart.FullSeriesCollection(1)
.HasErrorBars = True
.ErrorBars.Select
'Error is on the next line, I believe it doesn't like the "Amount:=rngStD"
.ErrorBar Direction:=xlY, Include:= _
xlBoth, Type:=xlCustom, Amount:=rngStD.Value
.ErrorBars.Select
End With
РЕДАКТИРОВАТЬ: добавлено .Value в конце rngStD.Value в последней строке. Теперь количество фиксируется на уровне 50 вместо отдельных значений для каждой точки в диапазоне. Не уверен, почему и как это исправить.