プロが教えるわが家の防犯対策術!

ただいま私はこのようなプログラムを作っています。

Private Sub TextBox貸方_Change()
Dim 貸方 As Integer
Tx貸方 = TextBox貸方.value
Select Case Tx貸方
Case 101
TextBox貸方摘要.Text = "現金"
Case 102
TextBox貸方摘要.Text = "当座預金"
           ・
           ・
           ・
 'Case Eles
'MsgBox ("該当コード無し")
End Select
End Sub
しかしなぜか1011などの存在しないコードを入力してもメッセージボックスが表示されません!誰かお力をお貸しください!

A 回答 (2件)

ケアレスミス以前にイベントの発生タイミングを理解してください。


Changeイベントはテキストボックスの内容が変わる度に発生します。よってキー入力毎に該当プログラムが実行されます。

例えば
LostFocusイベントならテキストボックスから別のオブジェクトにフォーカスが移った場合に発生します。

また「Tx貸方」の変数の宣言がなされていませんが、別の場所で宣言しているのでしょうか?

Tx貸方のデータ型が数値系なら代入時にエラーになります。
IF文でまず、テキストボックスが数値に変換できるか確認する必要があります。
例えば

If IsNumeric(TextBox貸方.value) Then
Select Case Tx貸方
Case 101
TextBox貸方摘要.Text = "現金"
Case 102
TextBox貸方摘要.Text = "当座預金"
           ・
           ・
           ・
Case Else
MsgBox ("該当コード無し")
End Select
Else
MsgBox ("該当コード無し")
End If
    • good
    • 0
この回答へのお礼

ありがとうございます!是非ためしてみます!

お礼日時:2002/02/27 15:58

こんにちは。

maruru01です。

ケアレスミスなので、問題の本質ではないかも知れませんが、

1.綴りが違います。
  ×Eles
  ○Else
2.コメント文になっている(頭に"'"が付いている)

以上の点を修正してもダメな場合は、補足して下さい。
では。

この回答への補足

何も記入しない場合にエラー発生と一文字打つごとにメッセージボックスが表示されてしまいます・・・申し訳ありませんがお願いします。

補足日時:2002/02/27 12:18
    • good
    • 0

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