VB(A)について勉強中なのですが、わからない所があるので、簡単に教えていただけらたと思っています。

まず配列方法に関してですが、
Dim aaa() As Long
という方法を見かけるのですが、調べてみると要素が不定と書いて有りました。
そこで、もし2次元配列、3次元配列で要素が不定の場合はどう書いたらよいのですか?
もし、要素が確定しているなら
Dim aaa(10,10) As Long
Dim aaa(10,10,10) As Long
とかけますよね。

次にCall文なのですが、
Call文はサブプロシージャを呼び出すための物と認識しています。
そこで、
Call BBB(...)
とあれば
Sub BBB(... As ○○○)
と書いてある物を見ました。
ここで、(... As ○○○)とはどういう意味なのでしょうか?
それと、Call文を使った場合は、戻り値などの設定は無いのでしょうか?
つまり、Call文を使ったら一方通行にSubを呼び出すだけと言う物なのでしょうか?

あと、For文に関してですが、
ある例題を見たら
For Each ... In ×××
と書いて有りましたが、どういう意味なのでしょうか?

色々書かせていただきましたが、分からない事だらけで困っています。
アドバイス宜しくお願いいたします。

A 回答 (1件)

>もし2次元配列、3次元配列で要素が不定の場合はどう書いたらよいのですか?



同じです。
不定配列として宣言しただけなので、そのままでは配列として利用できないからです。
利用するには、ReDim 宣言で配列要素数を設定する必要があります。

http://www.cocoaliz.com/excelVBA/index/12/

>ここで、(... As ○○○)とはどういう意味なのでしょうか?

サブプロシージャが受け取る型の宣言です。
数値型が指定されているのに文字型が入っていればエラーになります。

Call Sub1("A")

Sub Sub1(Pram As Integer)
Msgbox Pram * Pram
End Sub

>For Each ... In ×××

任意のコレクション(同一要素の固まり)をループで処理します。
ブックにあるすべてのワークシートとか選択範囲(セル)、シート上の図形などをループ文で処理できるようになるので、要素名や順番を指定して実行する必要がなくなります。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2009/05/16 13:25

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


人気Q&Aランキング