• ベストアンサー

Case Eles

ただいま私はこのようなプログラムを作っています。 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などの存在しないコードを入力してもメッセージボックスが表示されません!誰かお力をお貸しください!

質問者が選んだベストアンサー

  • ベストアンサー
  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.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

south-kuma
質問者

お礼

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

その他の回答 (1)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 ケアレスミスなので、問題の本質ではないかも知れませんが、 1.綴りが違います。   ×Eles   ○Else 2.コメント文になっている(頭に"'"が付いている) 以上の点を修正してもダメな場合は、補足して下さい。 では。

south-kuma
質問者

補足

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