[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2004/11/27(Sat) 09:14
投稿者名:koto
Eメール:
URL :
タイトル:
テキストボックスのテキストの変更
こんにちは。
今テキストボックスが4つ(text1からtext4)あります。それと別のテキストボックスが1つ(text5)あります。text5に4という数字を入力したら、text4のプロパティーを変えたいのですがうまく行きません。
現在は以下のように考えました。が違うみたいです。
s = Text5.Text
Text(s).Text = ""
Text(s).BackColor = vbBlack

どうしたらいいでしょう?
宜しくお願いします。

投稿時間:2004/11/27(Sat) 10:12
投稿者名:Say
Eメール:
URL :
タイトル:
Re: テキストボックスのテキストの変更
読む人のことも考えて、読みやすいように改行しないと
回答つきにくくなりますよ。

>どうしたらいいでしょう?

一番簡単なのは、コントロール配列を使うこと。
二番目に簡単なのは、あらかじめオブジェクト型配列にSetしておくこと。

力技でやるなら、たとえばこう。
    Dim obj As Object
    For Each obj In Me.Controls
        If obj.Name = "Text" & Text5.Text Then
            obj.BackColor = vbBlack
        End If
    Next

投稿時間:2004/11/29(Mon) 09:57
投稿者名:旅人A
Eメール:
URL :
タイトル:
Re: テキストボックスのテキストの変更
> s = Text5.Text
> Text(s).Text = ""
> Text(s).BackColor = vbBlack

Text5.Textで取得した「s」は文字列型だと思うのですが・・・。
s = Cint(Text5.Text)
とする必要があるでしょう。

また、Text5の値が数値に変換できるかどうかのチェックも必要でしょう。

投稿時間:2004/12/01(Wed) 12:06
投稿者名:カムリン
Eメール:kakurin@hotmail.com
URL :
タイトル:
Re: テキストボックスのテキストの変更
> 現在は以下のように考えました。が違うみたいです。
> s = Text5.Text
> Text(s).Text = ""
> Text(s).BackColor = vbBlack
Text5.Textに1〜4の数値が入る場合、
s = Text5.Text
Eval("Text" & s & ".Text") = ""
Eval("Text" & s & ".BackColor") = vbBlack
といった形になると思います