例) 商品ID(会員ID)が空欄の場合,商品ID(会員ID)の入力を促すメッセージを表示し,処理を中断する.
sample code
Sub point()
'1.ワークシート「入力」に入力された文字列を取得(エラー処理あり)
Dim errorFlag As Integer
errorFlag = 0
Dim syouhin As Integer
If IsNumeric(Worksheets("入力").Range("B1").Text) Then
syouhin = Worksheets("入力").Range("B1").Value
ElseIf Worksheets("入力").Range("B1").Text = "" Then
MsgBox "商品IDが空欄です.商品IDを入力してください."
errorFlag = 1
Else
MsgBox "正しい商品IDを入力してください."
errorFlag = 1
End If
Dim kaiin As Integer
If IsNumeric(Worksheets("入力").Range("B2").Text) Then
kaiin = Worksheets("入力").Range("B2").Value
ElseIf Worksheets("入力").Range("B2").Text = "" Then
MsgBox "会員IDが空欄です.会員IDを入力してください."
errorFlag = 1
Else
MsgBox "正しい会員IDを入力してください"
errorFlag = 1
End If
If errorFlag = 0 Then
'2.取得した「商品ID」から「価格」と「ポイント付与率」を取得
Dim kakaku As Long
Dim fuyoritsu As Integer
Worksheets("商品").Select
Worksheets("商品").Range("A2").Select
Do While ActiveCell.Value <> ""
If ActiveCell.Value = syouhin Then
kakaku = ActiveCell.Offset(0, 2).Value
fuyoritsu = ActiveCell.Offset(0, 3).Value
End If
'MsgBox "価格:" & kakaku & "、ポイント付与率" & fuyoritsu
ActiveCell.Offset(1, 0).Select
Loop
'3.取得した「会員ID」から「保有ポイント数」と「会員種別」を取得
Dim point As Long
Dim syubetsu As Variant
Worksheets("会員").Select
Worksheets("会員").Range("A2").Select
Do While ActiveCell.Value <> ""
If ActiveCell.Value = kaiin Then
point = ActiveCell.Offset(0, 2).Value
syubetsu = ActiveCell.Offset(0, 3).Value
End If
ActiveCell.Offset(1, 0).Select
Loop
'4.取得した「価格」と「保有ポイント数」から「支払金額」を表示
Dim kingaku As Long
Worksheets("入力").Select
kingaku = kakaku - point
Worksheets("入力").Range("B4").Value = kingaku
Worksheets("入力").Range("B6").Value = kakaku
If syubetsu = "ゴールド" Then
fuyoritsu = fuyoritsu * 2
End If
Worksheets("入力").Range("B7").Value = kakaku * fuyoritsu / 100
End If
End Sub
download
0 件のコメント:
コメントを投稿