こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

【Excel VBA】ユーザーフォーム テキストボックスの有効・無効について

Excel2003を使用しています。

ユーザーフォームにテキストボックスを11個とコマンドボタンを2個配置しています。
TextBox9に“0000”(文字列です)が入力されたら、TextBox10を有効に、それ以外は無効に設定したく、TextBox10のEnabledプロパティをFalse、LockedプロパティをTrueにして、コードを下記のように書いたのですが、うまくいきません。どこか、間違っているでしょうか?
コードは該当部分だけ、載せています。よろしくお願いします。

--------------------------------------------------
If TextBox9.Text = "0000" Then
TextBox10.Enabled = True
TextBox10.Locked = False
TextBox10.BackStyle = fmBackStyleOpaque
Else
TextBox10.Enabled = False
TextBox10.Locked = True
TextBox10.BackStyle = fmBackStyleTransparent
End If

投稿日時 - 2008-06-03 17:39:21

QNo.4072559

困ってます

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

上記のコードはどこに書かれていますか?
もし、入力後のルーチンに書かれているとすると、入力中に反映されないのでうまく行かないということが起こり得ます。

TextBox9の値が変更されたら、イベントを発生させて同時に処理をすればOKだと思いますが。(トグルボタンの表示処理と同様です)

Sub TextBox9_Change() の中にコードを表記すればうまく行くのでは?

違ったら失礼!

投稿日時 - 2008-06-03 18:07:19

お礼

回答ありがとうございます。

>TextBox9の値が変更されたら、イベントを発生させて同時に処理をすればOKだと思いますが。

↑アドバイスいただいたおかげで、無事、処理できました。
ありがとうございました。

投稿日時 - 2008-06-04 09:48:31

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

ただ漠然とうまくいかないと言われても・・・
どの様にうまくいかなかったのかを書いていただかないと。

とりあえずこちらで試したぶんには、うまくいっているように見えるのですが。

投稿日時 - 2008-06-03 18:00:23

お礼

説明不足で申し訳ありません。
今回は、ANo.2さんからのアドバイスで、無事、解決できました。
ありがとうございました。

投稿日時 - 2008-06-04 09:43:56

あなたにオススメの質問