またまた参考書についていた演習問題に挑戦しました。

携帯の通話料金をもとにコメントを入れる問題です。

<問題>

<結果> 判定ボタンを押したら通話料とコメントが入るようにできました。

<コーディング>

Sub 携帯料金()

Dim Wks As Worksheet
Dim b As Long
Dim o As Long
Dim t As Long
Dim Tt As Long
Dim Ct As Long
Dim Form As String
Dim i As Long


Set Wks = ThisWorkbook.Worksheets("sheet1")

With Wks

For i = 2 To 11

b = 2880            '基本料金
o = 42              '追加料金(分)
t = 200             '基本料金でおさまる通話分数
Tt = .Cells(i, 1)   '通話時間
Ct = .Cells(i, 2)   '通話料金
Form = b + ((Tt - 200) * 42)    '公式を変数に入れる


If Tt <= 200 Then           '通話時間が200分以下の場合は

        .Cells(i, 2) = b    '基本料金を返す

        Else

        .Cells(i, 2) = Form 'それ以外の場合は超過料金と基本料金を返す

End If


    If .Cells(i, 2) <= b Then   '基本料金以下の場合は

        .Cells(i, 3) = "適切なコースを選択しています"

        ElseIf .Cells(i, 2) > b And .Cells(i, 2) <= 10000 Then  '基本料金より多く10000未満の場合は
        
        .Cells(i, 3) = "Bコースをおすすめします"

        Else: .Cells(i, 3) = "使いすぎです"                     'それ以外の場合は

    End If

Next i


End With
End Sub