こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Array配列の末尾に追加したい。

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

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

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

投稿日時 - 2001-07-02 08:04:18

QNo.98335

暇なときに回答ください

質問者が選んだベストアンサー

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

手順は 
(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

投稿日時 - 2001-07-02 09:53:50

お礼

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

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

Perl の Push関数は

Push(配列名,文字列);

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

投稿日時 - 2001-07-02 10:19:48

ANo.1

このQ&Aは役に立ちましたか?

5人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

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

投稿日時 - 2001-07-02 13:49:20

お礼

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

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

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

投稿日時 - 2001-07-02 15:34:04

あなたにオススメの質問