| 
    
     |  | 続いて、質問させてください。 前回の
 >>  dim acc as iaccessible
 >>  set acc = textbox1
 >>  acc.accselect 16&
 >>  acc.accselect 1&
 の
 16&
 1&
 の定数のことは良く理解できてないままなのですが、できたら、この定数の意味も説明していただければ助かります。
 
 本題の質問です。
 前回の質問に関連しているので、このスレッドで続いて質問します。
 
 Userform1に'TextBox1,'TextBox2,'TextBox3を配置しています。
 
 'TextBox1***TextBox2の文字列の長さを格納
 'TextBox2***指定文字数の文字列を入れて、この文字列をアクティブセルに格納
 'TextBox3***任意の文字列を入れて、この文字列をアクティブセルの右隣セルに格納
 
 TextBox3の値を入力確認メッセージで、Noを選んだとき、TextBox3を入力可能状態にしたいのですが、TextBox1にフォーカスが移動してしまいます。どのようにすればTextBox3を入力可能状態にできるでしょうか。
 
 下記がそのコードです。
 
 Private Sub TextBox2_Change()
 Dim n As Long
 Dim acc As IAccessible
 If Len(Me.TextBox2.Text) = Me.TextBox1.Value Then
 If YN確認("指定データ数になりました" & vbCr & "データ入力しますか?") = vbYes Then
 ActiveCell.Value = Me.TextBox2.Text
 'TextBox3へフォーカス移動
 Set acc = TextBox3
 Else
 Set acc = TextBox2
 End If
 acc.accSelect 16&
 acc.accSelect 1&
 End If
 End Sub
 
 Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
 Dim acc As IAccessible
 Dim strm As String
 Dim i As Long
 If Me.TextBox3.Text = "" Then Exit Sub
 If YN確認("データ入力しますか?") = vbYes Then
 ActiveCell.Offset(0, 1).Value = TextBox3.Text
 Application.GoTo ActiveCell.Offset(1, 0)  'カーソルを下へ
 Me.TextBox2.Text = Empty
 Me.TextBox3.Text = Empty
 '
 'TextBox2へフォーカス移動
 Set acc = TextBox2
 Else
 'TextBox3へフォーカスを戻す
 Set acc = TextBox3    '<<==1.vbNoでは、TextBox3が入力可能状態にならない
 
 End If
 acc.accSelect 16&
 acc.accSelect 1&
 End Sub
 
 '実行確認メッセージを表示
 Function YN確認(Msg As String)
 Dim Style As VbMsgBoxStyle
 Dim Title As String
 Style = vbYesNo + vbExclamation + vbDefaultButton1
 Title = "実行の確認"
 YN確認 = MsgBox(Msg, Style, Title)  'vbYes = 実行 , vbNo = 中止
 End Function
 
 
 |  |