
いつもお世話になります
今、TextBoxを並べて入力しようとしていますが
EnterKey入力では文字を全部、青く選択するのですが
↑Keyではカーソルが文字の後ろに
↓Keyではカーソルが文字の前に来るだけで青く選択してくれません
これってダメなんですかね、教えてください
一応、質問用にプログラムを用意しました
Sub test()
UserForm1.Show
End Sub
Option Explicit
Dim isw
Private Sub UserForm_Activate()
TextBox1.Value = 10
TextBox2.Value = 20
TextBox1.SetFocu
End Sub
Private Sub TextBox1_Enter() 'テキストボックスに入ったら色変える
isw = 1
With TextBox1
.BackColor = RGB(&H0, &HFF, &HFF)
.SelStart = 0
.SelLength = Len(TextBox1)
End With
End Sub
Private Sub TextBox2_Enter() 'テキストボックスに入ったら色変える
isw = 2
With TextBox2
.BackColor = RGB(&H0, &HFF, &HFF)
.SelStart = 0
.SelLength = Len(.Text)
End With
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsNumeric(TextBox1.Text) Then
TextBox1.BackColor = RGB(&HFF, &HFF, &HFF)
ElseIf TextBox1 <> "" Then
MsgBox ("数値以外の文字が入力されています")
TextBox1 = ""
Cancel = True
End If
End Sub
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsNumeric(TextBox2.Text) Then
TextBox2.BackColor = RGB(&HFF, &HFF, &HFF)
ElseIf TextBox2 <> "" Then
MsgBox ("数値以外の文字が入力されています")
TextBox2 = ""
Cancel = True
End If
End Sub
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Call chkFKey(KeyCode)
End Sub
Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Call chkFKey(KeyCode)
End Sub
Private Sub chkFKey(ByVal KeyCode As MSForms.ReturnInteger)
If KeyCode = vbKeyReturn Then
If isw = 2 Then isw = 0
With Me.Controls("TextBox" & isw + 1)
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
ElseIf KeyCode = vbKeyDown Then
If isw = 2 Then isw = 0
With Me.Controls("TextBox" & isw + 1)
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
ElseIf KeyCode = vbKeyUp Then
If isw = 1 Then isw = 3
With Me.Controls("TextBox" & isw - 1)
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
End If
End Sub
長くてすみません
以上、宜しくお願い致します

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 以下のコードを実行しても、オブジェクト変数または、withブロック変数が設定されていませんとエラーが 1 2024/03/07 16:21
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBA listBoxについて 2 2024/03/26 16:14
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) Excel VBA マクロ シート名を変えずにA列にあるセル名の名前でファイルの分割をしたいです 3 2024/02/05 22:10
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) VBAの繰り返し処理について教えてください。 3 2022/08/02 13:21
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NET2003 テキストボックスに...
-
入力チェック
-
Visual Basic 6.0 のテキストボ...
-
VBA 数(可変)分だけ順に記...
-
正整数の半角数字かどうか判定する
-
TextAreaのMaxLength代替処理(IE)
-
文字認証の問題
-
VC#でテキストボックスに変数の...
-
JSで文字列の先頭1文字を消した...
-
以下のコードを実行しても、オ...
-
javascriptで大きなデータを扱う
-
VBA ステータスバー DoEvents
-
URLのアンカーをCGIに渡したい
-
リクエスト結果が一瞬しか表示...
-
setTimeoutあるいはsetInterval...
-
htmlのfileタグに自動で値を入...
-
デザイン時のVisible=Falseは実...
-
IEの右クリックメニューからの...
-
javascriptでフォルダ内のファ...
-
javascript外部化の管理方法に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字認証の問題
-
正整数の半角数字かどうか判定する
-
VB.NET2003 テキストボックスに...
-
VC#でテキストボックスに変数の...
-
エクセルVBA/ Formatで文字列が...
-
禁止文字チェック
-
ハイフンだけ置換したい。
-
VBAによる第3、4水準文字の判定...
-
「終了していない文字列型の定...
-
Visual Basic 6.0 のテキストボ...
-
javascript 文字列の最後から1...
-
gas 全角数字を半角数字に変換
-
Vba SelStart、SelLen教えてく...
-
C#でTextBoxに数値のみ入力可能...
-
CListCtrl の特定のセル(アイ...
-
Excel VBA カタカナ セル判定...
-
エクセル 半角英数6文字以上 ...
-
入力された文字を1文字ずつチ...
-
正規表現について
-
c言語で「文字列(最大80文字)お...
おすすめ情報