例) 商品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 件のコメント:
コメントを投稿