VBA実践演習問題 #その4


 

よく目にするアカウント登録フォームを題材にして、VBAで実現できることを体験すると共に、基本的な記述方法について学んでいきましょう。

※Excelファイルダウンロード
登録フォーム

ご使用は自己責任で宜しくお願い致します。
それほど複雑なフォーマットではないので、不安な方はご自身で作成してください。

 icon-hand-o-right 前回の演習解説

前回最後に出題した演習の解答例です。


Sub practice3_1()

    Dim fname As String
    Dim lname As String
    Dim mf As String
    Dim pass As String
    Dim repass As String
    Dim chkerr As Boolean
    
    lname = Range("D3").Value
    fname = Range("G3").Value
    mf = Range("D6").Value
    pass = Range("D9").Value
    repass = Range("D12").Value
        
    Range("B1").Value = ""
    Range("B7").Value = ""
    
    If lname = "" Or fname = "" Then
        Range("B1").Value = "※入力されていません"
        Range("B1").Font.Color = vbRed
        chkerr = True
    End If
    
    If pass <> repass Then
        Range("B7").Value = "※パスワードが一致しません"
        Range("B7").Font.Color = vbRed
        chkerr = True
    End If
    
    If pass = "" Or repass = "" Then
        Range("B7").Value = "※入力されていません"
        Range("B7").Font.Color = vbRed
        chkerr = True
    End If
    
    If chkerr = True Then
        Exit Sub
    End If
    
    MsgBox "氏名:" & lname & " " & fname & vbCrLf & "性別:" & mf
End Sub

単純に、氏名のチェックを行っているIfステートメントを流用すればすぐに出来てしまうかと思います。順番は「※パスワードが一致しません」のIfステートメントの後に記述するのがミソです。順番が逆になると、どちらか一方に入力されていた場合のアラートが「※パスワードが一致しません」になってしまいます。

 icon-hand-o-right パスワードに入力ポリシーを実装してみよう!

■ 問題

パスワードが8文字よりも短い場合、「※パスワードは8文字以上で入力してください」とアラート表示するようにマクロを修正しましょう。

※その他の項目に関しては、今回は使用しません。

解答はこちら

■ 演習

全ての項目が正常値だった場合に、下図のようにメッセージボックスを出力するようマクロを修正しましょう。

 

  • このエントリーをはてなブックマークに追加

PAGE TOP