アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excel-VBAの配列「Public Const」について
変数「AA」に"メロン"を定義する方法として次の記述で対処しているのですが、
配列で定義する書き方が解りません!?
Public Const AA As String = "メロン"
配列変数「BB」に「"栗", "桃", "メロン"」を定義をしたいのですが、
どの様に記述すれば良いか教えて下さい。
以上

A 回答 (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/27 …
に解説が有る。
バリアント変数利用が気に食わないのか?
aa()={"a","b","c"}のような書き方が、VBAでも出来ないかと聞きたいのか。
    • good
    • 0
この回答へのお礼

imogasiさん、ご丁寧な回答どうも有り難うございました。
記述「Public aa」で理解できました。
早速実践させていただきます。

お礼日時:2010/07/10 00:30

ありません。

そういう仕様です。
(VBに限らず、他の言語も大抵constは「コンパイル時に」解釈できるものだけだと思います)

http://msdn.microsoft.com/en-us/library/dd361851 …

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 …

この回答への補足

すみません
早々に回答を頂いたのですが難しくて理解できません。
私の質問の仕方が良くなかったのかも知れません。
例えば、配列を提議するのに次の様な記述をしているのですが、
もっと気のきいた記述方法はないものかと思案しています。
--------------------
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の宣言の仕方が解りません??
使用例を紹介して頂ければ幸いです。

以上

補足日時:2010/07/09 15:32
    • good
    • 0
この回答へのお礼

回答有難うございました。

お礼日時:2010/07/10 13:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A