A 回答 (7件)
- 最新から表示
- 回答順に表示
No.7
- 回答日時:
#1です。
回答のコードの5,10,55という数字は、質問の数字を使っただけです。
KeyPressに通知される値(KeyAscii)は、キーボードのキーと同じではありません。#6にあるようにAsciiコードです。
キーボードの"1" → KeyAscii=49
キーボードの"2" → KeyAscii=50
キーボードの"5" → KeyAscii=53
キーボードの"7" → KeyAscii=55
キーボードのDEL → KeyAscii=8
ですので、回答のコードで入力できるのはキーボードの"7"とDELだけです。"1234567890abc"と入力したら"7"がTextBoxに入ります。
1文字ごとにKeyPressが起動されるので、"10"と入力したらOKで"11"と入力したらNGとするようことはできません。そのような仕様ならば他の方の回答を参考にしてください。
あとは、Changeイベントをを使うということも考えられます。
Private Sub Text1_Change()
If Text1.Text = "10" Then
Text1.Text = ""
End If
End Sub
No.6
- 回答日時:
#1の
rivate Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 5 To 10, 55
Case Else
KeyAscii = 0
End Select
End Sub
は 5 to 10の部分は
Asciiコードを書かないとダメではないでしょうか。
ーー
1文字で、全(各)桁統一に、であればKeyPressイベントでチェックは良いが、2桁の10や55をチェックするのは前の1文字を覚えておかないといけない。
第1桁目1-5はOK。0、6-9はNo。
第2桁目0と5はOK。それ以外はNO。
1と2桁あわせてが10と55はOK
それ以外はエラー。
こういうロジックになるのかな。
第1桁目かどうかを保持するのが面倒。
論理的に難しい途を採っているとしか思えない。
ーー
Enterが押されて、TextBoxの値が確定してから、その値が、文字列5,6,7,8,9,10,55以外はエラーにすべきでは。
No.5
- 回答日時:
こんにちは
Validatingイベントを利用したらどうでしょうか
下記の例は多少はしょってます。
テキストボックスの初期値が無効な文字だった場合(例えば空文字)などへの配慮が必要です。
Private Sub TextBox1_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating
Dim value As Integer
Try
value = Int32.Parse(sender.text)
Catch ex As Exception
value = -1
End Try
Select Case value
Case 5 To 10, 55
Case Else
' メッセージなどの表示
e.Cancel = True '入力をキャンセル
sender.undo() ' 元の値を表示
End Select
End Sub
No.4
- 回答日時:
>またkeyPressではなくtextboxのプロパティなどで
プロパティではできないでしょうね。
どうしてもプロパティでやるとしたら、ユーザコントロールで自前のtextboxを作るしかありません、
この回答への補足
Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 5 To 10, 55
Case Else
KeyAscii = 0
End Select
End Sub
の方法では文字が何も入力できませんでした・・。
textboxという条件は決定ですが、keypressは必須ではないので、他に入力制限をかける方法ありますか?
No.3
- 回答日時:
keyPress では 1文字しかとれないので
前に入力したものと比較しなければ
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If TextBox1.Text = "" Then
If KeyAscii = 49 Or (KeyAscii > 52 And KeyAscii < 58) Then
Exit Sub
End If
ElseIf TextBox1.Text = "1" And KeyAscii = 48 Then
Exit Sub
ElseIf TextBox1.Text = "5" And KeyAscii = 53 Then
Exit Sub
End If
KeyAscii = 0
End Sub
No.2
- 回答日時:
やるならこんな感じでしょうか...
でも、何か不自然ですよね。何故KeyPressで1文字毎に判定したいのでしょう...
Private InKey As String
Private Sub Text1_GotFocus()
InKey = Text1.Text
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 8 'BS
Case 48 '0
If InKey <> "1" Then
KeyAscii = 0
End If
Case 49 '1
If InKey = "" Then
InKey = Chr(KeyAscii)
Else
KeyAscii = 0
End If
Case 53 '5
If InKey <> "" And InKey <> "5" Then
KeyAscii = 0
End If
Case 54 To 58 '6 - 9
If InKey <> "" Then
KeyAscii = 0
End If
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub Text1_LostFocus()
Select Case Text1.Text
Case "5" To "9", "10", "55"
Case Else
Text1.Text = ""
End Select
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELでリターンキーが押されたらそのセルに特定の文字を表示したいのですが。 2 2022/08/07 12:58
- 高校受験 至急 塾に行かずに今から偏差値70以上を目指すのは不可能でしょうか? 不登校で、中二の後半から夢がで 15 2023/07/18 23:10
- Excel(エクセル) エクセルで指定範囲にある名前と重複した場合に入力できないようにしたい 1 2023/07/13 09:58
- 医療 精神病棟任意入院について。ご存知の優しい方いましたらコメントくだされば助かります、 任意入院は医師か 3 2022/07/21 11:17
- Excel(エクセル) Excelグラフのラベルオプションの並べ替えは可能ですか。セルの値を最後にしたいのですが。 1 2022/06/05 10:45
- Excel(エクセル) エクセルで、例えばAのセルの値次第で、Bのセルの値を自動入力する方法を教えてください。 2 2022/08/02 12:10
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- 知的財産権 特許法 新規喪失の例外は拡大された先願について非適用 の意味 1 2022/09/11 08:16
- その他(バイク) 公道走行可のキックボードなどのナンバーについて 1 2023/08/10 11:04
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
尿検査前日に自慰行為した時の...
-
白血球が多いとどんな心配があ...
-
尿検査の前日は自慰控えたほう...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
勃起する時って痛いんですか? ...
-
EXCELで条件付き書式で空白セル...
-
腕を見たら黄色くなってる部分...
-
EXCELで式からグラフを描くには?
-
変な話しになります。尿検査で...
-
excelでsin二乗のやり方を教え...
-
エクセル指定した範囲からラン...
-
Excelで""で囲む方法
-
ある範囲のセルから任意の値を...
-
2つの数値のうち、数値が小さい...
-
精子が黄色?
-
エクセルでエラーが出て困って...
-
納豆食べた後の尿の納豆臭は何故?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
至急!尿検査前日にオナニーし...
-
首吊りどこ締めるの
-
尿検査の前日は自慰控えたほう...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
白血球が多いとどんな心配があ...
-
中出しをするとお腹が痛い・・・。
-
射精をして1週間以内に尿検査を...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
変な話しになります。尿検査で...
-
これって喉仏ですか? 私は女性...
-
EXCELで条件付き書式で空白セル...
-
男です。昨日の午後3時くらいに...
-
今朝、毎朝の習慣でオナニーし...
-
納豆食べた後の尿の納豆臭は何故?
-
1日前の検尿
-
値が入っているときだけ計算結...
-
精子が黄色?
おすすめ情報