• ベストアンサー

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

MyString = Array("0です","1です","2です") ↑これの後ろに、"3です" を追加したいのですが、 どうしたらいいですか? Perl で言う、Push関数の様なものが欲しいのですが。。

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

  • ベストアンサー
  • Hk2001
  • ベストアンサー率48% (24/49)
回答No.1

あとで追加する。という事でしょうか? だったら、普通に配列の数を増やして、そこに値を代入すればいいと思います。 手順は  (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

duckling
質問者

お礼

お時間を割いて答えて下さり、 ありがとうございます。 やっぱり ReDim Preserve するしかないんでしょうか。 Perl の Push関数は Push(配列名,文字列); という、 あえて配列のサイズを指定する必要のない、 とても簡単なものだったので、 そういう関数があるかなぁ?と思ったのですが。 (T-T)

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Hk2001
  • ベストアンサー率48% (24/49)
回答No.2

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

duckling
質問者

お礼

ReDim で進めてみます。 お手数を取らせまして、申し訳ありません。 ありがとうございました。 また、何かありましたら よろしくお願いいたします。( ̄∇ ̄)

すると、全ての回答が全文表示されます。

関連するQ&A