2011年9月12日月曜日

Excel VBA課題(1)

「商品ID」「会員ID」を入力し、保有ポイントを使用した場合の金額を表示する.
 (まずは「佐藤」が「テレビ」を購入した場合を考える) 

※用意するExcelのシートは3つ「商品」「会員」「入力」
※1ポイント=1円換算
※ポイント使用時は、ポイントは付与されない.

sample code
Sub point()

    '1.ワークシート「入力」に入力された文字列を取得
    Dim syouhin As Integer
    syouhin = Worksheets("入力").Range("B1").Value
    
    Dim kaiin As Integer
    kaiin = Worksheets("入力").Range("B2").Value
    
    'MsgBox "商品ID:" & syouhin & ", 会員ID:" & kaiin

    
    '2.取得した「商品ID」から「価格」を取得
    Dim kakaku As Long
    kakaku = 0
    
    Worksheets("商品").Select
    Worksheets("商品").Range("A2").Select
    
    Do While ActiveCell.Value <> ""
        If ActiveCell.Value = syouhin Then
            kakaku = ActiveCell.Offset(0, 2).Value
        End If
        
        'MsgBox "価格:" & kakaku
        
        ActiveCell.Offset(1, 0).Select
    Loop
    
    
    '3.取得した「会員ID」から「保有ポイント数」を取得
    Dim point As Long
    point = 0
    
    Worksheets("会員").Select
    Worksheets("会員").Range("A2").Select
    
    Do While ActiveCell.Value <> ""
        If ActiveCell.Value = kaiin Then
            point = ActiveCell.Offset(0, 2).Value
        End If
        
        'MsgBox "ポイント:" & point
        
        ActiveCell.Offset(1, 0).Select
    Loop

    '4.取得した「価格」と「保有ポイント数」から「支払金額」を表示
    Worksheets("入力").Select
    
    Dim kingaku As Long
    kingaku = kakaku - point
    
    'MsgBox "支払金額:" & kingaku
    Worksheets("入力").Range("B4").Value = kingaku

End Sub

download

0 件のコメント: