Excel VBA質問箱 IV

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

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


68159 / 76738 ←次へ | 前へ→

【13120】Re:フォームのコントロールのフォーカスを自身にもどしたい
発言  ichinose  - 04/4/23(金) 18:34 -

引用なし
パスワード
   Jaka さん、ようこ さん、こんばんは。

>>まさに
>>   (因みに、TextBox1のExitで、使おうと思ってもよう動きません。)
>>ですか?
>フォームレイアウトによって変わります。
フォームのSetfocusメソッドには、色々と問題が出ているようですよ!!
フレームの中にTextboxを置いたりしても駄目みたいです。
↑は、私も苦労しました。

後、Excelバージョンにもよるのでしょうか?
Excel2000(SP-3)で、
例えば、ユーザーフォーム(Userform1)にテキストボックスを3つのみを貼り付けました
(Textbox1〜Textbox3)。

それで、フォームモジュールに以下のコード
'=================================================================
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'この中のコードは、ようこ さんが提示されたコードをTextbox1に置き換えたものです
  Cancel = True
  If TextBox1.Text = "" Then
   MsgBox "工事名を入力して下さい"
   With TextBox1
    .BackColor = &H80000013
    .SetFocus
    End With
  Else
   TextBox1.BackColor = &H80000005
   End If
End Sub
'====================================================================
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  With TextBox2
   If IsNumeric(.Text) = True Then
     MsgBox "数字は駄目"
     Cancel = True
     .SelStart = 0
     .SelLength = Len(.Text)
     .SetFocus
     End If
   End With
End Sub
'=====================================================================
Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  With TextBox3
   If IsNumeric(.Text) = False Then
     MsgBox "数字以外はは駄目"
     Cancel.Value = True
     .SelStart = 0
     .SelLength = Len(.Text)
     End If
   End With
End Sub

Textbox1でのExitイベント、
フォーカスは、ちゃんと戻ってきています。
但し、空白の場合もそれ以外の場合も・・・。
つまり、Textbox1から逆に抜ける事ができません。
(色は変わるけどね!!)

次にTextbox1のイベントコードを削除又は、コメントにした場合、
Textbox2及び、Textbox3では、「エラーの場合は、フォーカス移動しない」
という仕様で動いています。

ただ、Exitイベントでこういうコードを書いてしまうと終了ボタン押したときも
Exitイベントが動くのでそれはそれで厄介なんですが・・・。


Jakaさんもおっしゃっていましたが、
Excelのバージョンから細かいフォームのレイアウト(でなくても、再現できる仕様)
を記述してみて下さい。
1 hits

【13104】フォームのコントロールのフォーカスを自身にもどしたい ようこ 04/4/23(金) 16:36 質問
【13105】Re:フォームのコントロールのフォーカスを... Jaka 04/4/23(金) 16:58 回答
【13108】Re:フォームのコントロールのフォーカスを... ようこ 04/4/23(金) 17:14 質問
【13110】Re:フォームのコントロールのフォーカスを... ようこ 04/4/23(金) 17:23 質問
【13112】Re:フォームのコントロールのフォーカスを... Jaka 04/4/23(金) 17:41 回答
【13120】Re:フォームのコントロールのフォーカスを... ichinose 04/4/23(金) 18:34 発言
【13136】Re:フォームのコントロールのフォーカスを... shousuke 04/4/23(金) 23:04 発言
【13176】Re:フォームのコントロールのフォーカスを... ようこ 04/4/26(月) 9:36 お礼

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