0

VBA を使用してグラフにカスタム標準偏差バーを含めようとしていますが、実際にバーを追加する行で実行時エラー 13「型の不一致」が発生し続けます。範囲オブジェクト (rngStD) に問題があると思いますが、理由がわかりません。Access でこの VBA を使用していますが、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

編集: 最後の行の rngStD.Value の最後に .Value を追加しました。範囲内の各ポイントの個々の値ではなく、量が 50 に固定されるようになりました。理由や修正方法がわかりません。

4

2 に答える 2

0

等号を前に付けて、R1C1 表記で範囲のアドレスを渡す必要があります。次の構文を試してください。

.ErrorBar Direction:=xlY, Include:=xlBoth, _
    Type:=xlCustom, Amount:="=" & rngStD.Address(, , xlR1C1, True), _
    MinusValues:="=" & rngStD.Address(, , xlR1C1, True)
于 2015-08-20T14:51:26.143 に答える