- ベストアンサー
Excel-VBAの配列「Public Const」について
Excel-VBAの配列「Public Const」について 変数「AA」に"メロン"を定義する方法として次の記述で対処しているのですが、 配列で定義する書き方が解りません!? Public Const AA As String = "メロン" 配列変数「BB」に「"栗", "桃", "メロン"」を定義をしたいのですが、 どの様に記述すれば良いか教えて下さい。 以上
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
下記なら可能のようだが Public aa Sub test01() aa = Array("桃", "栗", "柿") End Sub Sub test02() test01 For i = 0 To 2 MsgBox aa(i) Next i End Sub 何処がこれでは質問に適合してないのか、説明したら。聞きたいことが明確になり、具体的になるだろう。 aaはバリアント変数。 http://pc.nikkeibp.co.jp/article/NPC/20070803/279065/ に解説が有る。 バリアント変数利用が気に食わないのか? aa()={"a","b","c"}のような書き方が、VBAでも出来ないかと聞きたいのか。
その他の回答 (1)
- himajin100000
- ベストアンサー率54% (1660/3060)
ありません。そういう仕様です。 (VBに限らず、他の言語も大抵constは「コンパイル時に」解釈できるものだけだと思います) http://msdn.microsoft.com/en-us/library/dd361851%28PROT.10%29.aspx VBA仕様中の 5.2.3.2 Const Declarations 5.4.3.2 Local Constant Declarations 5.6.16.1 Constant Expressions あたりかな、多分。 VB.NETだとreadonlyってのがあるんだけど。 http://msdn.microsoft.com/en-us/library/aa711969%28VS.71%29.aspx
お礼
回答有難うございました。
補足
すみません 早々に回答を頂いたのですが難しくて理解できません。 私の質問の仕方が良くなかったのかも知れません。 例えば、配列を提議するのに次の様な記述をしているのですが、 もっと気のきいた記述方法はないものかと思案しています。 -------------------- Option Explicit Sub Test01() Dim BB As Variant Dim i As Long BB = Array("栗", "桃", "メロン") For i = 0 To UBound(BB) MsgBox BB(i) Next i End Sub -------------------- ■そこで、Excelヘルプ…「配列の宣言」を参照すると、 ↓↓ 配列は、Dim ステートメント、Static ステートメント、Private ステートメント、 または Public ステートメントを使って他の変数と同じように宣言します。 ↓↓ 共通の配列変数として宣言したいのですが、Publicの宣言の仕方が解りません?? 使用例を紹介して頂ければ幸いです。 以上
お礼
imogasiさん、ご丁寧な回答どうも有り難うございました。 記述「Public aa」で理解できました。 早速実践させていただきます。