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

エクセル2000使用
ユーザーフォーム(UserForm1):マルチページ(MultiPage1)でページを5つ
作成。各ページにはテキストボックスとコマンドボタンを配置。
テキストボックスに値入力後、コマンドボタンをクリックするとテキストボック
スの値をクリアするように設定。

テキストボックスに値入力後、コマンド実行前にページを替えた時、テキストボ
ックスの値をクリアしたいのですが、どのようにすればよろしいのでしょうか。

類似する過去の質問を見てもよくわからなかったので、ぜひご回答のほどよろし
くお願い申上げます。

A 回答 (2件)

さっきまで開いていたページのTextBoxをクリアする必要があるのでしょうか?


もし、各ページを"開いた時"にそのページのTextBoxをクリアしても問題ないなら。

Private Sub MultiPage1_Change()
Dim tbCont As Control
 With Me.MultiPage1
  For Each tbCont In .Pages(.Value).Controls
   If TypeName(tbCont) = "TextBox" Then
     tbCont.Value = Null
   End If
  Next tbCont
End With
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。見た目の問題だったんですが、短くスッキリしました。

お礼日時:2004/10/18 08:22

>クリックすると


イベントプロシージュアー利用ですよね。
Private Sub MultiPage1_Change()
MultiPage1.page1.TextBox1 = ""
End Sub
MultiPageのChangeイベントを使いました。
MultiPage1のTextBox1のVALUEに文字を入れておき、実行し、ページをPage2をクリックして、Page1に戻ると、テキストボックスの中身は無くなってました。
これではありふれてますが、質問の真意をカバーしてますでしょうか。

この回答への補足

申し訳ございません。説明不足です。新たな質問はクリックイベントを用いた時のことです。どのページ状態からでも、他のページに切り替えるということは、マルチページ全体がクリックされると同じだと考えて、TextBox* = ""をテキストボックスの数だけ記述しなければならないのか、一文にまとめることができるのかどうかということなのです。

補足日時:2004/10/16 12:20
    • good
    • 0
この回答へのお礼

速やかなご回答ありがとうございます。imogasiさんのご回答と質問No.984565_chipmoguraさんのご回答を参考にMultiPage1のクリック(チェンジ)イベントを設定したところ、希望通りの結果が得られました。
あつかましく、続く質問ですが、MultiPage各ページ内に同様のテキストボックスがたくさんあるので、まとめてクリアするためには、どのように記述すれば良いのでしょうか?

お礼日時:2004/10/16 12:19

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A