| 
    
     |  | ▼ken さん: おはようございます。
 
 >前回は有り難う御座いました。
 >SetFocusを使ってみましたが
 >フォーカスが点滅しません。
 
 SetFocusを使ってみましたが、
 今度は、マルチページ内のテキストボックスにはフォーカスされなくなりましたが、
 本来フォーカスが当たるべきテキストボックスにもフォーカスされません。
 
 というように以前と表示に変化があったことを
 わかるように記述してください。
 
 >他に良い方法はありますでしょうか?
 
 
 >>▼ken さん:
 >>こんばんは。
 >>>ユーザーフォーム内にテキストボックスとマルチページを配置して
 >>>ユーザーフォームを開いたときにのマルチページのページをセル入力により
 >>>区別して開く様にしましたするとテキストボックスのフォーカスが最初にならず
 >>>マルチページのテキストボックスにフォーカスがかかってしまいます。
 >>>この場合どのようにしたら良いのでしょうか?
 >>>プロパティを変えてみたりTextbox1.Activateと記入しても変わりません。
 
 ユーザーフォームがモーダレスモードで表示されていませんか?
 
 ならば、
 
 UserForm_Initialize()
 というイベントプロシジャーに処理を記述するのではなく、
 
 UserForm_Activate に記述してみてみてください。
 
 尚、UserForm_Activate イベントプロシャーに記述するのは、
 
 Textbox1.Setfocusのみで
 
 それ以前に行う Multipage1.value=xxx
 等の処理は そのままUserForm_Initialize内の記述でも結構です。
 
 
 Private Sub UserForm_Activate()
 TextBox1.SetFocus
 End Sub
 
 Private Sub UserForm_Initialize()
 With MultiPage1
 If Val(Cells(1, 1).Value) >= 0 And _
 Val(Cells(1, 1).Value) <= 3 Then
 .Value = Val(Cells(1, 1).Value)
 End If
 End With
 End Sub
 
 尚、UserForm_Initialize内のコードは一例です。
 
 
 以下の記述は、私は今までにも何度か同様の内容を記述したことがありますが・・。
 
 ここに記述することに情報漏れがあれば、私とkenさんでは、
 見ているブックが、コードが違うものを見ながらあれこれ言っているのと
 同じです。
 
 kenさんと私(閲覧者)が同じものを見られるような記述をしてください。
 そのためには、kenさんが体験したうまくいかない内容を誰でもその記述どおりに
 ブックを作成すれば、コードを実行すれば再現できる再現手順書が必要です。
 
 この記述、結構手間が掛かりますが、VBAを本気でやる気があるならば、
 これをすることがkenさんにとって、VBA上達の決して無駄にはなりません
 (↑これに関してきっぱり)。
 
 是非、次回からは上記のこと検討してみてください。
 
 尚、これでもうまくいかない場合は、投稿は明日夕方になってしまいます。
 (その場合は、どなたかよろしくお願いします)
 
 |  |