Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


24778 / 76738 ←次へ | 前へ→

【57307】Re:ユーザーフォーム内のテキストボックスのフォーカス移動について
発言  ichinose  - 08/8/6(水) 8:14 -

引用なし
パスワード
   おはようございます。

>今回のActivateでフォーカスが入るページと
>入らないページがあります。

私が確認した環境では、UserformのActivateイベントで処理すことで
正常に作動したのですが・・・。

環境 Excel2002 Win2000

新規ブックにて
ユーザーフォーム(Userform1)

 テキストボックス(Textbox1)
 マルチページ(Multipage1)
   4枚のページを作成する
  (既定値で2ページ用意されていますから、あと2ページ追加してください)
   各ページ(Page1からPage4)には、それぞれ一つのテキストボックスを
   用意します。
   Textbox2、Textbox3、Textbox4、Textbox5


仮にSheet1のセルA1に指定されたページを開いて上記のユーザーフォームを
表示させる(モーダレス表示)という仕様だとすると・・・。

上記コントロールを配置したUserform1のモジュールには、

'=================================================================
Private Sub UserForm_Activate()
  TextBox1.SetFocus
End Sub
'=================================================================
Private Sub UserForm_Initialize()
  Dim num As Long
  With MultiPage1
    .Value = 0
    num = Val(Worksheets("sheet1").Cells(1, "a").Value)
    If num > 0 And num < .Pages.Count Then
     .Value = num - 1
     End If
    End With
End Sub

標準モジュールに
'==================================================================
Sub main()
  UserForm1.Show vbModeless
End Sub


Sheet1のセルA1に1〜4の値を設定して

上記のmainを実行してみてください。

セルA1で設定したページがアクティブな状態でユーザーフォームが表示され、

テキストボックス(Textbox1)をフォーカスする事が出来るはずですが。


上記Userform1とうまくいかないユーザーフォームとは根本的に構成が違うなら
そのユーザーフォームの構成(コントロール配置の詳細)や
コードなどの投稿を期待してたんですが・・・。
(他にもExcelやWinのバージョンも必要ですねえ)


ユーザーフォームには、私からするとビックリするほどのバグの
存在このサイトの過去ログにも投稿されていますし、
私の実体験でもユーザーフォームを含んだちょっと規模の大きい
プログラムなどを作成すると、一つぐらいは見つかります。

Multipage1.Value=xx 

でフォーカスまで移ってしまうのだって私に言わせればバグですけどねえ

他にも、

フレームとその中に配置されたテキストボックス(文字入力系コントロール)
Multipageとそのページ内に配置されたテキストボックス(文字入力系コントロール)

は、不具合があることがこの質問箱で発表されています(By 角田さん)。

www.h3.dion.ne.jp/~sakatsu/Excel_Tips03.htm

さらにモーダルモードでは、正常に作動しても
同じ事をモーダレスモードで表示すると
正常に作動しないこともいくつか確認されています。

事前にそれがわかっていれば、憂いも少ないので

詳細な再現手順書が必要だったんですが、残念です。
2 hits

【57259】ユーザーフォーム内のテキストボックスのフォーカス移動について ken 08/8/3(日) 17:19 質問
【57261】Re:ユーザーフォーム内のテキストボックス... ichinose 08/8/3(日) 20:26 発言
【57262】Re:ユーザーフォーム内のテキストボックス... ken 08/8/3(日) 21:03 質問
【57264】Re:ユーザーフォーム内のテキストボックス... ichinose 08/8/4(月) 6:48 発言
【57282】Re:ユーザーフォーム内のテキストボックス... ken 08/8/4(月) 20:45 質問
【57307】Re:ユーザーフォーム内のテキストボックス... ichinose 08/8/6(水) 8:14 発言
【57316】Re:ユーザーフォーム内のテキストボックス... ken 08/8/6(水) 23:19 お礼

24778 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free