|
初めまして。
現在、練習で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
|
|