プロが教えるわが家の防犯対策術!

配列にデータが連続で入っている。飛び飛びにはなっていない。
データは配列に必ずに順番に入っている。

この時に最後のデータの要素の配列の番号を知りたい。
配列の要素に関しては、データの数が分からないので多めに取ってはある。

こう言うのは例えばperlの言語に於いては、簡単に$#配列の名前で分かりますが。
access2007のvbaではこれと似た様な事は出来るのでしょうか。

例えば、下記のコードでaの配列の要素の数を知りたい時に、
配列の数を100と返すのでは無く、きちんとここでは3を返す様な関数
と言うのはあるのでしょうか。

Dim a(100) As String
a(0) = "4555"
a(1) = "3333"
a(2) = "eee"


宜しくお願いします。

A 回答 (1件)

>配列の数を100と返すのでは無く、きちんとここでは3を返す様な関数と言うのはあるのでしょうか。



VBAには配列が空かどうか一括で調べる関数はありませんので、自作するしかありません。
以下の様な具合で、取得するといいでしょう。

Dim a(100) As String
a(0) = "4555"
a(1) = "3333"
a(2) = "eee"

'中身が空でない配列の数を取得
For Each b In a
If b <> "" Then i = i + 1
Next

Msgbox i
    • good
    • 0
この回答へのお礼

有難う御座います。

随分と昔から触っていませんので昔と比べたら改善されていたのかと
思いましたが、何も変わっていないのですね

思い出しました。有難う御座います。

お礼日時:2016/02/24 05:10

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