dポイントプレゼントキャンペーン実施中!

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

A 回答 (2件)

上記のコードはどこに書かれていますか?


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

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

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

違ったら失礼!
    • good
    • 0
この回答へのお礼

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

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

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

お礼日時:2008/06/04 09:48

ただ漠然とうまくいかないと言われても・・・


どの様にうまくいかなかったのかを書いていただかないと。

とりあえずこちらで試したぶんには、うまくいっているように見えるのですが。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/06/04 09:43

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