あなたの習慣について教えてください!!

宜しくお願い致します。
VB2005を使って勉強中です。

現在このようなコードを書いています。

Dim i As Integer
For i = 0 To 2
t(i) = ("T" & i).Text
MsgBox(t(i))
Next

上のようにコードを書くとエラーになってしまいます。
なぜこのように書いたかといいますと、
t(i) = ("T" & i).Text の部分を  t(i) = T0.Text とすると“T0”というテキストボックス内に記述されている数値を3回メッセージボックスで表示することができたので、同じような感じで書くとT0~T2までのテキストボックス内に記述されている物を順番に表示できるようになるのでは??と思ったからなのですが・・・
結局無理で行き詰っています。

素人質問ですみません。

どなたか良きアドバイスを宜しくお願い致します。

A 回答 (2件)

t0、t1、t2というテキストボックス。


ユーザーフォームに貼り付けたコマンドボタン1

で以下はどうでしょうか。

Private Sub CommandButton1_Click()
Dim t(2) As Variant
Dim i As Integer

For i = 0 To 2
t(i) = Me.Controls("t" & i)
MsgBox (t(i))
Next i
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました。
記述していただきました方法は自分でも考えて実行していたのですが
エラーが出て実行することができませんでした。
また、何か良い方法がありましたら教えていただけたらと思います。
宜しくお願い致します。

お礼日時:2008/12/16 13:16

記憶で書きますが、VB6以前に大変便利だったコントロール配列を疑似的に再現する、以下のようなコードが使用できたハズです。



共通変数の宣言部
Dim arrTextBoxes(10) As TextBox

フォームの初期化イベント
各テキストボックスへの参照を配列に保存
Set arrTextBoxes(0)=TextBox01
Set arrTextBoxes(1)=TextBox02
Set arrTextBoxes(2)=TextBox03
・・・・

使用する際には
For i=0 to arrTextBoxes.UBound
MsgBox arrTextBoxes(i).Text
Next
    • good
    • 0
この回答へのお礼

ありがとうございました。
記載していただきました方法も基本的な方法として頭の中にはあったのですが、大量のテキストボックスを扱う場合には大量の行を消費することになりますので、基本的にはfor~nextを使って数字を上げていき、数行のみの記述を行うことによって、テキストボックスを参照して配列に格納することができたらと思っておりました。
また、何かありましたら良い方法がありましたら、お知らせいただけたらと思います。宜しくお願い致します。

お礼日時:2008/12/16 13:20

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