Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Professional : Excel 2010)
グラフのエラーバーについて
投稿日時: 17/03/19 00:49:02
投稿者: バルバロッサ

こんばんは,お世話になります.
前回もグラフで質問をさせていただいて,今回もグラフで躓いています.
それはエラーバーの表示に関してです.
作りたいグラフは3つのデータの縦棒グラフになります.
それにエラーバーを付けたいと思っています.エラーバーは正の方向だけで,キャップ付きで,自分の設定したエラーバーの表示になります.
そのコードを書いてみると,ものの見事に赤の部分でエラーになります.
エラーの内容は,パラメータが無効ですとのこと.
そこで,赤以降の部分を消去すると,全てのエーラバーが同じ値になってしまいます.
手動でグラフを書いて,エラーバーはそれぞれの値で記すことができます.
どうしたらよいのかよろしくお願いいたします.
Sub Sample()
Dim Str As String
Dim SE1 As Variant, SE2 As Variant, SE3 As Variant
 
    Str = Mid(Cells(7, 1), 4, 20)
    SE1 = Cells(7, 7).Value
    SE2 = Cells(27, 7).Value
    SE3 = Cells(47, 7).Value
     With ActiveSheet.Shapes.AddChart.Chart
         .ChartType = xlColumnClustered
         .SetSourceData Range("c7,C27,c47")
         .SeriesCollection(1).Name = Str
         .HasLegend = False
         .ChartTitle.Format.TextFrame2.TextRange.Font.Size = 10
         .SeriesCollection(1).HasErrorBars = True
         .SeriesCollection(1).ErrorBar Direction:=xlY, Include:= _
            xlPlusValues, Type:=xlErrorBarTypeCustom, Amount:=SE1
         .SeriesCollection(2).HasErrorBars = True
         .SeriesCollection(2).ErrorBar Direction:=xlY, Include:= _
            xlPlusValues, Type:=xlErrorBarTypeCustom, Amount:=SE2
         .SeriesCollection(3).HasErrorBars = True
         .SeriesCollection(3).ErrorBar Direction:=xlY, Include:= _
            xlPlusValues, Type:=xlErrorBarTypeCustom, Amount:=SE3
     End With
 End Sub

回答
投稿日時: 17/03/19 07:04:49
投稿者: simple

系列はひとつしかないので、二つ目と言われてExcel君も往生しているのでは?
 
データ要素毎に誤差範囲を指定するなら
     .SeriesCollection(1).ErrorBar Direction:=xlY, Include:= _
       xlPlusValues, Type:=xlErrorBarTypeCustom, Amount:=Array(SE1, SE2, SE3)
とするのでは?
 
参照サイト↓から推定。
https://support.microsoft.com/ja-jp/help/403730

投稿日時: 17/03/19 12:30:46
投稿者: バルバロッサ

Simpleさん,こんにちは
お返事遅くなり申し訳ありません.
さて,早速,教えていただいた所を,私のコードに組み込みました.
そしたら,あっさり解決しました.
ありがとうございます.
エラーコードの取り扱いは,調べてもなかなかヒットしなくて,教えていただいたHPも拝見させていただきました.
非常に助かりました.
 
そして,もう1つ質問があるので,それは題名を変えて,質問させていただきます.
ありがとうございました.