最新閲覧日:

超初心者な質問ですみません。
たとえばFOR文を使ってtext1~10まで連続に処理させるには
どういったコードを記述すればよいのでしょうか?
初心者用の本やHPを探しても見当たりませんでした。
お願いします。

A 回答 (5件)

下記の例は、ACCESS VBA で作業した時のものです。

もしかしたらVBでは動かないかもしれないですが、参考になれば幸いです。

For i = 1 To 10
Me("text" & i) = i
Next i

ただ、この例はACCESSにはコントロール配列がない為の苦肉の策です。せっかくVBをお使いなのであれば、No.1さんの回答にもありますように、コントロール自体を配列にしてしまう方が便利かつスマートだと思います。
ヘルプで「コントロール配列」で検索をかければ意味,作成方法が詳しくわかるのではないかと思います。
    • good
    • 0
この回答へのお礼

工夫次第で色々やり方ができるんですね。
ご回答ありがとうございます。一度試してみます。

お礼日時:2001/11/27 14:16

おそらくtext1、text2…というのは、


テキストボックスコントロールの事を指しているのかと思われますが、

関連させたい全テキストボックスのプロパティで、
[オブジェクト名]を同じものにし、(例えばtext)
[Index]に連番を振ると、(0から)
「コントロール配列」として定義できます。

するとtext1、text2、text3…は、
text(0)、text(1)、text(2)として扱う事ができますので、

For i = 0 To 2
 text(i) = "てすと"
Next

なんて事ができます。
    • good
    • 0
この回答へのお礼

なるほど!こういったやり方もあるんですね。
早速試したらできました。
ご回答ありがとうございました。

お礼日時:2001/11/27 14:14

「コントロール配列」というモノを使います。

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

コントロール配列を覚えることができました。ありがとうございました。

お礼日時:2001/11/27 14:12

お疲れ様です。


下でpatakさんがおっしゃったコントロール配列のやり方が一番いいと思います。

参考までに、コントロール配列を使用しないやり方をかきます。

テキストボックスを「TEXT1」から「TEXT10」までの名前でフォームに貼り付けて以下のコードを書込み実行してみてください。

Private Sub Form_Load()

  Dim i As Long

  For i = 1 To 10

   '// TEXTnのテキストプロパティ
   Me.Controls("TEXT" & CStr(i)).Text = CStr(i)

  Next i

End Sub

間違っていたらごめんなさい。
    • good
    • 0
この回答へのお礼

なんとなく理解はできましたが、まだ私には少し難しいみたいです。
もっと勉強します。ありがとうございました。

お礼日時:2001/11/27 14:08

textエリアをインデックス配列にすればいいです。


Text1のエリアをファーム上でコピーし、貼り付けると
Text1(0)~ Text1(9) の配列になります。
それを
 
(例)

i =0
for i=0 to 9
text1(i) = x
next

のようにすればいいです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。早速試したらできました。
これでスムーズに処理できます!

お礼日時:2001/11/27 14:06

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

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報