【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

この記事が気に入ったらサポートをしてみませんか?