Select: Whenのようにcaseを書いていく構文です。
Sub SelectTest() Dim signal As String signal = Range("a1").Value Dim result As Range Set result = Range("a2") Select Case signal Case "red" result.Value = "Stop!" Case "green" result.Value = "Go" Case "yellow" result.Value = "Caution" Case Else result.Value = "n.a" End Select End Sub
while文
Sub WhileTest() Dim i As Integer i = 1 Do While i < 10 Cells(i, 1).Value = i i = i + 1 Loop End Sub
For文
Sub ForTest() Dim i As Integer For i = 1 To 9 Cells(i, 2).Value = i Next i End Subl
ForEachによるループ
Sub EachTest() Dim names As Variant names = Array("yamada", "taro", "sakamoto") For Each Name In names Debug.Print Name Next Name End Sub
プロシージャの呼び出し
Sub CallTest() Dim names As Variant names = Array("okamoto", "nakamura", "hayashi") For Each name In names Call SayHi(name) Next name End Sub Sub SayHi(ByVal name As String) Debug.Print "hi, " & name End Sub
返り値を返すfunctionプロシージャ
Sub CallTest() Dim names As Variant names = Array("okamoto", "nakamura", "hayashi") For Each name In names Debug.Print SayHi(name) Next name End Sub Function SayHi(ByVal name As String) SayHi = "hi, " & name End Function
成績表 :一定数以下の数字をカウントして、メッセージ表示
Sub FindLowScores() Dim i As Long Dim n As Long i = 2 n = 0 Do While Cells(i, 1).Value <> "" If Cells(i, 2).Value < 40 Then Cells(i, 2).Interior.Color = vbRed n = n + 1 End If i = i + 1 Loop MsgBox (n & "件該当しました!") End Sub