「みんな教えて! 選手権!!」開催のお知らせ

MyString = Array("0です","1です","2です")

↑これの後ろに、"3です" を追加したいのですが、
どうしたらいいですか?

Perl で言う、Push関数の様なものが欲しいのですが。。

A 回答 (2件)

あとで追加する。

という事でしょうか?
だったら、普通に配列の数を増やして、そこに値を代入すればいいと思います。

手順は 
(1)UBound で配列の最大を取得してカウントを1加算する。
(2)求めたカウントで ReDim する。そのとき Preserve を使い配列の値の初期化を止める。
(3)配列に値を代入する。

という具合です。
ヘルプで UBound、ReDim を調べればすぐコーディングできると思います。
できなかったら↓↓参考にしてください。

Private Sub Command1_Click()

Dim MyString As Variant
Dim lCnt As Long

MyString = Array("0です", "1です", "2です")

lCnt = UBound(MyString) + 1
ReDim Preserve MyString(lCnt)
MyString(lCnt) = "3です"


End Sub
    • good
    • 0
この回答へのお礼

お時間を割いて答えて下さり、
ありがとうございます。

やっぱり ReDim Preserve するしかないんでしょうか。

Perl の Push関数は

Push(配列名,文字列);

という、
あえて配列のサイズを指定する必要のない、
とても簡単なものだったので、
そういう関数があるかなぁ?と思ったのですが。 (T-T)

お礼日時:2001/07/02 10:19

前に一度そういうの探した事があったんですけど、めぼしいものが見つかりませんでした。

あると便利なんですけどね。
    • good
    • 0
この回答へのお礼

ReDim で進めてみます。
お手数を取らせまして、申し訳ありません。

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

また、何かありましたら
よろしくお願いいたします。( ̄∇ ̄)

お礼日時:2001/07/02 15:34

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

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


おすすめ情報