- Select Case ステートメント で条件分けした例です。
- このコードはほかの年のデータは無いものとしています。
複数年のデータでは異なる条件を作ります。→複数年のケース
Sub test12()
Dim c As Range
Dim mark As String
For Each c In Range("B3:B10")
Select Case Month(c.Value)
Case 7, 9
If c.Offset(0, 1).Value >= 70 Then
mark = "合格"
Else
mark = ""
End If
Case 8
If c.Offset(0, 1).Value >= 80 Then
mark = "合格"
Else
mark = ""
End If
Case Else
mark = ""
End Select
c.Offset(0, 2).Value = mark
Next c
End Sub
- 上記と同じ処理ですが、以下のように記述することもできます。
Sub test13()
Dim c As Range
Dim mark As String
For Each c In Range("B3:B10")
mark = ""
Select Case Month(c.Value)
Case 7, 9
If c.Offset(0, 1).Value >= 70 Then mark = "合格"
Case 8
If c.Offset(0, 1).Value >= 80 Then mark = "合格"
Case Else
End Select
c.Offset(0, 2).Value = mark
Next c
End Sub
- 複数年のケースです。
Sub test14()
Dim c As Range
Dim mark As String
Dim jyouken
For Each c In Range("B3:B10")
jyouken = Year(c.Value) & "_" & Month(c.Value)
mark = ""
If (jyouken = "2011_7" Or jyouken = "2011_9")
And c.Offset(0, 1).Value >= 70 Then
mark = "合格"
ElseIf jyouken = "2011_8" And c.Offset(0, 1).Value >=
80 Then
mark = "合格"
End If
c.Offset(0, 2).Value = mark
Next c
End Sub