使用しているオブジェクトは
Combo1,Text1,Command1です。

General Declarations ----------------------------
   Dim Sent()
   Dim Count_no()
-------------------------------------------------

Private Sub Command1_Click() --------------------
   Dim i
   Dim Hyouji

   For i = 1 To 3

    If Combo1.Text = Sent(i) Then

    Text1.Text = Count_no(i)
    *******************************
    Else
    Text1.Text = Combo1.Text
    *******************************
    End If

   Next i

End Sub
-------------------------------------------------

Private Sub Form_Load() -------------------------

   Dim Sentence As String
   Dim i
   ReDim Sent(1 To 3)
   ReDim Count_no(1 To 3)

   For i = 1 To 3

     Sentence = "Sentence" & i
     Sent(i) = Sentence
     Count_no(i) = i
     Combo1.AddItem (Sent(i))

   Next i

End Sub
-------------------------------------------------

以上のソースを書いています。
もし"Sentence2"が選択・Command1クリックされたらText1には"2"が表示され、
(ここまでは出来ました)
"12345"と入力・クリックされたら"12345"と表示されるようにしたいのですが、
配列以外の文字を入力した場合の条件(ソースの***内)を加えた途端
Combo1.TextがText1に表示されてしまいます。

条件の書き方が悪いのでしょうか?
ややこしい説明ですみませんが、わかる方、回答お願いします。

A 回答 (1件)

たぶん上記のやり方では、ここまで出来たといわれてる


「"Sentence2"選択・Command1クリックされたらText1には"2"」
にはならないと思います。
Command1_Click部分を以下のように変えてみるのはどうでしょう?
変になったらごめんなさい。
--------------------------------------------
Private Sub Command1_Click()
Dim i
Dim Hyouji

Text1.Text = ""

For i = 1 To 3
If Combo1.Text = Sent(i) Then
Text1.Text = Count_no(i)
Exit For
End If
Next i

If Text1.Text = "" Then
Text1.Text = Combo1.Text
End If

End Sub
--------------------------------------------
    • good
    • 0
この回答へのお礼

ありがとうございます、できました~♪
変になったらだなんてとんでもない。
思っていた通りの結果が出ました。

Text1.Text=""とは・・・。目からウロコです。
そしてExit For・・・、iが100まであって、i=2あたりでSent(i)がヒットしたら
残りのループ数がムダだなぁ、と思っていたので大変ありがたいアドバイスでした。

また機会がありましたらよろしくお願いします(ペコリ)。

お礼日時:2002/02/04 15:16

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

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


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

おすすめ情報

カテゴリ