pass

パスワードは、Asciiコードを取得し、8文字以上で、半角の数字と英字の両方が含まれるようにしています。

Option Explicit

Private Sub CheckBox1_Click()

    If Me.CheckBox1.Value = True Then
        Me.TextBox2.PasswordChar = ""
        Me.TextBox3.PasswordChar = ""
    Else
        Me.TextBox2.PasswordChar = "*"
        Me.TextBox3.PasswordChar = "*"
    End If
    
End Sub

Private Sub CommandButton1_Click()
    Dim strNewPass As String
    Dim lngPassLen As Long
    
    Dim i As Long
    
    Dim blnFlag0 As Boolean, blnFlagA As Long, blnFlag0A As Boolean
    Dim blnTextBox1 As Boolean, blnTextBox2 As Long, blnTextBox3 As Boolean
    
    Dim strStartSheet As String
    Dim strStartZoomRange As String
    Dim strStartCell As String
    Dim lngStarCol As String 'スタート時の画面のカラム
        
    strNewPass = Me.TextBox2.Text
    lngPassLen = Len(strNewPass)

    blnTextBox2 = False
    blnTextBox3 = False
    
    blnFlag0 = False
    blnFlagA = False
    blnFlag0A = False

    '入力チェック
    If Not (Me.TextBox2.Text = Empty) Then blnTextBox2 = True
    If Not (Me.TextBox3.Text = Empty) Then blnTextBox3 = True
    
    
    If blnTextBox2 = False And blnTextBox3 = False Then
        'パスワード入力なし
        
        MsgBox "入力がありません", vbExclamation
        Application.ScreenUpdating = True
        Exit Sub
    
    End If
    
    'TextBox2.Text が8文字以上かチェック

    If lngPassLen < 8 Then
        MsgBox "パスワードは8文字以上で設定して下さい", vbExclamation
        Me.TextBox2.SetFocus
        Exit Sub
    End If
    
    'TextBox2.Text に英語と数字の両方が含まれているかチェック
    
    For i = 1 To lngPassLen
    
        '0-9
        If (Asc(Mid(strNewPass, i, 1)) >= 48 And Asc(Mid(strNewPass, i, 1)) <= 57) Then
            blnFlag0 = True
        End If
        
        'A-Z a-z
        If (Asc(Mid(strNewPass, i, 1)) >= 65 And Asc(Mid(strNewPass, i, 1)) <= 90) Or _
        (Asc(Mid(strNewPass, i, 1)) >= 97 And Asc(Mid(strNewPass, i, 1)) <= 122) Then
        
            blnFlagA = True
        
        End If
    
        If blnFlag0 = True And blnFlagA = True Then
            blnFlag0A = True
            Exit For
        End If
        
    Next i

    If blnFlag0A = False Then
        MsgBox "パスワードは半角数字と半角英文字の両方が必要です", vbExclamation
        Exit Sub
    End If

    'TextBox2.Text とTextBox3.Text が同じかチェック

    If Not (Me.TextBox2.Text = Me.TextBox3.Text) Then
        MsgBox "新パスワードと確認パスワードが一致していません", vbExclamation
        Me.TextBox3.SetFocus
        Exit Sub
    End If
        
    'パスワード設定
    
    Workbooks(strPassBook).Sheets(strPassSheet2).Range(strPassCell).Value = strNewPass
    
    Application.DisplayAlerts = False
    ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & ThisWorkbook.Name, Password:=strNewPass
    Application.DisplayAlerts = True
    
    MsgBox "パスワードを設定しました", vbInformation
        
    Unload Me
    Application.ScreenUpdating = True

End Sub

Private Sub TextBox3_Change()
    
    If Me.TextBox2.Value = Me.TextBox3.Value Then
        Me.CommandButton1.SetFocus
    End If

End Sub

Private Sub UserForm_Initialize()

    Me.CheckBox1.Value = False
    
End Sub