- 締切済み
配列方法とCall文とFor文について
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 ××× と書いて有りましたが、どういう意味なのでしょうか? 色々書かせていただきましたが、分からない事だらけで困っています。 アドバイス宜しくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- hana-hana3
- ベストアンサー率31% (4940/15541)
>もし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 ××× 任意のコレクション(同一要素の固まり)をループで処理します。 ブックにあるすべてのワークシートとか選択範囲(セル)、シート上の図形などをループ文で処理できるようになるので、要素名や順番を指定して実行する必要がなくなります。
お礼
ありがとうございました。