• ベストアンサー

excel2000のVBAについてわからないことがあります

勉強している教科書に以下のようなものが載っていました。 ------------------------ Sub 練習2() Dim syurui As Integer Select Case Range("B15").Value Case "集合縦棒" syurui = xlColumnClustered Case "横棒" syurui = xlBarClustered Case "折れ線" syurui = xlLine Case "面" syurui = xlArea Case Else MsgBox "正しいグラフ名を入力してください" Exit Sub End Select Charts.Add ActiveChart.ChartType = syurui (先はまだ続きます) ------------------------------------- で、質問ですが、変数の型についてです。 上記のマクロは、グラフの種類をいろいろ変更できるマクロなのですが、なぜ、文字を代入するのに、変数宣言が、Integer なのかということです。 integerだと、整数型ですから、数値を入れるはずなのに、グラフの種類は文字です。 意味を履き違えた質問をしているのかもしれませんが、教えていただければ幸いです。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

グラフの種類は数値です。 xlBarClusteredなどは、一見文字列ですが、内部定数なので実際の値は数値です。

omusupa
質問者

お礼

内部定数というのですね。(テキストにはちっともそんなこと書いてないんです・・・) 勉強になりました。ありがとうございます。

その他の回答 (1)

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.2

MsgBox "値=" & xlColumnClustered などとすると、xlColumnClusteredの定数の値が表示されます。 「値=51」 -- Case "集合縦棒" syurui = 51 なんてしても同じ動作になるんですが、「51って何よ?」と、人間にはわかりにくいので、Excelではこのような定数を重複しないように決めて利用しています。

omusupa
質問者

お礼

最初にintegerなので、「数値でも大丈夫なのかな?」とおもい、1とか入れてみると、エラーが出てしまい・・・51だったんですね。 とてもわかりやすい説明で感謝します。 ありがとうございました。