| 
    
     |  | 初めまして。 現在、練習でVBAを使って両替計算表を作ろうとしています。
 入金フォームに必要事項を入力すると、"入金"テーブルにデータが追加されるような感じで作ろうと考えています。
 
 
 そこで、データ入力を抜かすとIf文でメッセージボックスが出るように組んでみたのですが、メッセージ自体は表示されますが、その時点で入力している文がテーブルに追加されてしまいます。
 
 If文で引っかかったら、残りのプログラムを実行しないようにしたいのですが、中々調べても出てこないので質問させていただきました。
 
 もし、コードで改善出来る点もありましたら是非よろしくお願いします…
 
 
 Private Sub registre_click()
 
 tmp = "を入力してください。"
 sen = "千円札の枚数" + tmp
 hoka = "円の枚数" + tmp
 
 If datebox.Text = "" Then
 MsgBox "日付" + tmp, , "入力漏れ"
 
 ElseIf namebox.Text = "" Then
 MsgBox "担当者名" + tmp, , "入力漏れ"
 
 ElseIf manbox.Text = "" Then
 MsgBox "1万円札の枚数" + tmp, , "入力漏れ"
 
 ElseIf gosenbox.Text = "" Then
 MsgBox "5" + sen, , "入力漏れ"
 
 ElseIf nisenbox.Text = "" Then
 MsgBox "2" + sen, , "入力漏れ"
 
 ElseIf senbox.Text = "" Then
 MsgBox "1" + sen, , "入力漏れ"
 
 ElseIf gohyakubox.Text = "" Then
 MsgBox "500" + hoka, , "入力漏れ"
 
 ElseIf hyakubox.Text = "" Then
 MsgBox "100" + hoka, , "入力漏れ"
 
 ElseIf gojubox.Text = "" Then
 MsgBox "50" + hoka, , "入力漏れ"
 
 ElseIf jubox.Text = "" Then
 MsgBox "10" + hoka, , "入力漏れ"
 
 ElseIf gobox.Text = "" Then
 MsgBox "5" + hoka, , "入力漏れ"
 
 ElseIf itibox.Text = "" Then
 MsgBox "1" + hoka, , "入力漏れ"
 End If
 
 Sheets("入金").Activate
 
 Dim ws As Worksheet
 Dim tbl As ListObject
 Dim N As Long
 
 Set ws = Worksheets("入金")
 Set tbl = ws.ListObjects.Item("入金")
 
 With ws.ListObjects("入金")
 .ShowTotals = False
 End With
 
 With Range("E4").ListObject
 N = .ListColumns(1).Range.Count
 tbl.ListRows.Add
 tbl.ListColumns(1).Range(N + 1) = N
 tbl.ListColumns(2).Range(N + 1) = namebox.Text
 tbl.ListColumns(3).Range(N + 1) = datebox.Text
 tbl.ListColumns(4).Range(N + 1) = manbox.Text
 tbl.ListColumns(5).Range(N + 1) = gosenbox.Text
 tbl.ListColumns(6).Range(N + 1) = nisenbox.Text
 tbl.ListColumns(7).Range(N + 1) = senbox.Text
 tbl.ListColumns(8).Range(N + 1) = gohyakubox.Text
 tbl.ListColumns(9).Range(N + 1) = hyakubox.Text
 tbl.ListColumns(10).Range(N + 1) = gojubox.Text
 tbl.ListColumns(11).Range(N + 1) = jubox.Text
 tbl.ListColumns(12).Range(N + 1) = gobox.Text
 tbl.ListColumns(13).Range(N + 1) = itibox.Text
 End With
 
 With ws.ListObjects("入金")
 .ShowTotals = True
 End With
 End Sub
 
 
 |  |