|
▼Jaka さん,ichinose こんにちは。
お返事が遅れてしまいまして失礼致しました。
いろいろと ありがとうございました。
いろいろとやってみましたが、ExitとKeydwonでは
Exitの方が有効になってしまうので、
Exitで そのTextBoxに対応するLabelのNameを変数に代入して
次のTextBoxでMouseDownした時に変数に代入したLabelの書式を
変更するようにしました。
また、TextBoxで、KeyCode 13 または9を KeyDownした時
TabIndexで指定してある次のTextBoxに対応するLabelの書式を
変更するようにしました。
以下のものをTextBox数分 記述しました。
多分 無駄なことをしているとは思いますが、私の知識では
これが限界でした。
標準モジュール------------
Sub L1通常()
UserForm.Label1.Font.Underline = False
UserForm.Label1.ForeColor = &H80000012
End Sub
Sub L1選択()
UserForm.Label1.Font.Underline = True
UserForm.Label1.ForeColor = &HC0&
End Sub
Sub L2通常()
UserForm.Label2.Font.Underline = False
UserForm.Label2.ForeColor = &H80000012
End Sub
Sub L2選択()
UserForm.Label2.Font.Underline = True
UserForm.Label2.ForeColor = &HC0&
End Sub
UserFormのモジュール----------
Dim 前ctl1 As String,前ctl2 As String
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Or KeyCode = 9 Then
L1通常
L2選択
End If
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
前ctl1 = "Label1"
前ctl2 = "Label101"
End Sub
Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
On Error Resume Next
Controls(前ctl1).Font.Underline = False
Controls(前ctl1).ForeColor = &H80000012
Controls(前ctl2).Font.Underline = False
Controls(前ctl2).ForeColor = &H80000012
L1選択
L101選択
End Sub
|
|