【VBA】スキャン文字列の判定
Private Sub CommandButton1_Click()
UserForm2.Show
End Sub
---------------------------------------------------------
Private Sub CheckBox1_Enter()
'フォーカスをテキストボックスへ移動する
With TextBox1
.SetFocus
.SelStart = 0
.SelLength = Len(TextBox1)
End With
End Sub
'閉じるボタン
Private Sub CommandButton1_Enter()
'フォーカスをテキストボックスへ移動する
With TextBox1
.SetFocus
.SelStart = 0
.SelLength = Len(TextBox1)
End With
End Sub
'閉じるボタン
Private Sub CommandButton1_Click()
'ユーザフォームを閉じる
Unload UserForm1
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'スキャン文字列の空白スペースを削除する
TextBox1.Value = Replace(TextBox1.Value, " ", "")
TextBox1.Value = Replace(TextBox1.Value, " ", "")
CheckBox1.Value = False
'スキャン文字列の全角文字確認
If Len(TextBox1.Value) <> LenB(StrConv(TextBox1.Value, vbFromUnicode)) Then
CheckBox1.Caption = "全角が含まれています"
CheckBox1.ForeColor = RGB(255, 0, 0)
TextBox1.Value = ""
TextBox1.SetFocus
Else
'スキャン文字列の桁数確認(16桁以外の文字列は消す)
If TextBox1.TextLength > 0 And TextBox1.TextLength < 16 Then
CheckBox1.Caption = "桁数が足りません"
CheckBox1.ForeColor = RGB(255, 0, 0)
TextBox1.Value = ""
TextBox1.SetFocus
ElseIf TextBox1.TextLength < 1 Then
TextBox1.SetFocus
Else
'特定履歴へのデータ書き込み
Select Case Mid(TextBox1.Value, 3, 6)
'得意先コードの判定
Case "000143"
'【特定履歴入力の処理をここに書く】
CheckBox1.Value = True
CheckBox1.Caption = "特定履歴入力OK"
CheckBox1.ForeColor = RGB(0, 0, 0)
Case Else
CheckBox1.Caption = "パナソニック/YKKではありません"
CheckBox1.ForeColor = RGB(255, 0, 0)
TextBox1.Value = ""
TextBox1.SetFocus
End Select
End If
End If
End Sub
Private Sub UserForm_Activate()
TextBox1.SetFocus
CommandButton1.TakeFocusOnClick = False
End Sub
この記事が気に入ったらサポートをしてみませんか?