• ベストアンサー

列挙

ap_2の回答

  • ap_2
  • ベストアンサー率64% (70/109)
回答No.1

列挙型は、定数の一種で、いくつかの定数をグループ化します。 定数が多いと混乱するので、"わかりやすく"なります。 グループ名はデータ型と同様に扱えるため、引数とかでどんな定数を受け取るのか"明示"するのに使えます。実体は数値にすぎないので拘束力はなく、数値や他の定数を渡すこともできます。 VBAだと、複雑な処理かくことは少ないので、あまり使われませんが。 以下、例 '「XXXの種類」を指定する Enum EXxxType XxxA = 1 XxxB = 2 XxxC = 3 End Enum '「XXXの種類」を受け取ることを明示 Sub hoge (para As EXxxType) '~~ End Sub '使用例 Sub main()  Call hoge(XxxB) '定数で指定  Call hoge(2) '数値で指定 End sub

ZYGMMMYTRDNP
質問者

お礼

ありがとうございます。

関連するQ&A

  • VB6の列挙型(Enum)について

    VB6の列挙型について教えてください。 変数や定数は大文字で表示されているところを小文字に変更しても大文字に戻してくれるのですが、列挙型はそのまま変更されてしまいます。列挙型でも変更されないように出来ますでしょうか? よろしくお願いします。

  • 「列挙に暇がない」

    「列挙に暇がない」 と書いている人がいましたので、 検索してみると、かなり使われているようです、 しかし、「枚挙に・・・」と同様に使えるものなのか、 疑問を感じています。 列挙と枚挙は意味的には良く似ていますが、 微妙にニュアンスが異なるので、「列挙に・・・」は おかしいように思うのですが、実際には日本語として問題ないのでしょうか。

  • 列挙子集合を持つ列挙型を宣言する事にどんな意味があるのでしょうか?

    列挙子集合を持つ列挙型を宣言しなくてもあまり意味がないような気がするのですがよければメリットやデメリットや使う意味等を教えてください

  • 用語の意味の違いを教えてください。

    JAVAを勉強してまして、同じような意味であろう用語がたくさん出てきて頭が混乱してしまいました。 ・クラス変数 ・メンバ変数 ・インスタンス変数 ・プロパティ ・フィールド ・アトリビュート これらの用語の意味の違い、使い分けを教えていただけないでしょうか? 個人的な解釈: ・変数の総称? ・メソッドは含まない? ・定数は含まない?

    • ベストアンサー
    • Java
  • C#の列挙型

    C#の勉強をしています. 次の列挙型があるとします. enum Cat { Pochi, Tama, Mike } Cat.Tamaで2を取得できるそうですが, 標準入力からTamaという文字列を受け取ったときに, Tamaが2というのをどう取得すればいいですか?

  • VBA超初心者の質問ですけど・・・

    VBAを勉強しています。超初心者の質問なんですけど、モジュール 変数 引数 関数 定数 このへんのことがごっちゃでよく区別がつきません。軽い説明でもいただけたらうれしいです!教えてくださいm(__)m

  • VBA 変数・定数名の付け方

    いつもお世話になっております。 現在VBAを勉強中の初心者です。 変数や定数名について質問させていただきます。 自分でコードを作成した場合、変数名や定数名について、『何にしようか?』と結構な時間迷ってしまします。 決められたルールの中であれば、自由に命名して良いのでしょうが、参考書等を見ると同じような役割の変数・定数には似通った名前がつけられているように見受けられます(まあ当然かもしれませんが・・・) 私も今後の事を考えて、規則?に沿った名称を使って行きたいと考えています。 何か参考となるサイトなどはありますでしょうか? どうぞよろしくお願いいたします。

  • 整数の引数に列挙を使ったとき

     下記のサンプルコードでVB2003のときは警告が出なかったのですが、VB2008では警告が出ます。(注!インデントに全角スペース使用) Private aryNames(5) As String Private Enum enmItem As Integer  eName1 = 0  eName2  eName3 End Enum Private Sub Form1_Load(…  Dim i As Integer  Dim en As enmItem  '列挙を使って代入する  Item(en.eName2) = "DATA2"  Item(en.eName3) = "DATA3"  Item(en.eName1) = "DATA1"  'リストボックスで確認  For i = 0 To 2   ListBox1.Items.Add(aryNames(i))  Next End Sub Private Property Item(ByVal idx As Integer) As String  Get   Return aryNames(idx)  End Get  Set(ByVal Value As String)   aryNames(idx) = Value  End Set End Property 警告 使用されないローカル変数'en'です。 インスタンスを経由する共有メンバ、定数メンバ、列挙型メンバ、または入れ子にされた型へのアクセスです。正規の式は評価されません。  いちおう警告だけで期待通りの動きはするのですが、そんなに不正なコーディングでもないのに警告がでるのはうっとうしいです。  かといて警告オプション・・・  未使用のローカル変数 なし  共有メンバにアクセスするインスタンス変数 なし ・・・とするのも何だかなあ~ て感じです。  これは、安全なコーディングのため仕様が変わったせいなのでしょうか。 警告オプションをそのままに、上記の警告が出ないようにできないものでしょうか。 以上、よろしくお願いします。

  • エクセルVBAでの変数のスコープ

    基本的なことなのですが、教えて下さい。 当方、PHPやjavascriptを中心にプログラムしてきたのですが、 今回、エクセル+VBAでプログラムすることになり、VBAを勉強しているところなのですが、ちょっと戸惑っています。 いままでは、グローバル変数をなるべく使わないように、プログラミングをしてきたのですが、 VBAの勉強で、参考にしている本のコードは、全てグローバル変数を使っています。 そもそも、エクセルのシート・セルがグローバル変数のようなもの(?)なので、変数のスコープにこだわってもあまり意味がないのかな?とも思います。 エクセル+VBAである程度の規模のプログラムを作る際、 変数のスコープはどのように使い分けるのが良いのでしょうか? すみませんが、ご教授の程、よろしくお願いします。

  • Excel VBA 未使用の変数定数宣言の削除

    Excel2010のVBAで使われていない変数、定数の宣言を削除したいのですが、今は1つずつ検索機能で検索して宣言だけが検索されたものを削除しています。何か簡単に未使用の変数、定数を見つける方法はありますでしょうか。