手伝っていただけませんか?
以下のコードで、「Setfocus」と「Me.txtFT」の「Backcolor」を変更できます。
しかし、「txtPT」の「Enter」イベントの後でカーソルを「Me.txtFT」に移動しようとすると、カーソルは移動せず、「txtPT」のままになります。
私は以下のコードを使用しています。
Private Sub txtPT_Enter()
If Trim(Me.txtPT.Value & vbNullString) = 0 Then
MsgBox """FT field"" must contain a value before continue. Please try again": _
Me.txtFT.SetFocus: _
Me.txtFT.BackColor = &H80FFFF: _
Exit Sub
End If
End Sub
手伝っていただけませんか?
条件はの長さをテストしてtxtPT
いますが、メッセージはについて警告しているtxtFT
ため、コードからは意図が何であるかが明確ではありません。
コントロールBへのエントリを処理してコントロールAの値を検証する代わりに、コントロールAからの出口を処理することを検討してください。そもそも、無効な値でフォーカスを失ってキャンセルします。
Private Sub txtFT_Exit(ByVal Cancel As MSForms.ReturnBoolean)
With txtFT
If Len(Trim(.Text & vbNullString)) = 0 Then
Cancel.Value = True
.BackColor = &H80FFFF
MsgBox "[FT] cannot be empty!"
End If
End With
End Sub
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加