とりあえず、
貼り付けの場合は何もしない、
3行入力してあるときに、Enterキーを押したら次のテキストボックスへ移動するということだとして(カーソルがどこにあっても)、
下記のコードになります。
Private Sub テキスト1_KeyDown(KeyCode As Integer, Shift As Integer)
Dim s As String
If KeyCode = vbKeyReturn Then
s = Me.テキスト1.Text
If Len(s) - Len(Replace(s, vbCrLf, "")) >= 4 Then
KeyCode = 0
Me.テキスト3.SetFocus
End If
End If
End Sub
通報 ...
回答ありがとうございます。
実装できたのですが、改行無しで2行や3行になった場合、4行目・5行目を入力することができてしまいます。
例えば、幅7㎝、高さ1.5cmのテキストボックスにフォントサイズ14だと、文字詰め無しのフォントで1行あたり14文字入力、スクロールなしで3行分表示できるのですが、20文字入力すると6文字分が2行目に行き、入力を進めていくと4行目、5行目にも入力出来てしまいます。
コード的に、改行("")の個数で判断してるためだと思いますが、解決方法はありますでしょうか。