IfやSelectCaseの練習に入る前に、一緒によく使われる演算子をご紹介いたします。
 
 
 
A=B  AとBは等しい
 
A>B  AはBより大きい
 
A<B  AはBより小さい
 
A>=B  AはB以上
 
A<=B  AはB以下
 
A<>B  AとBは等しくない
 
A AND B  AかつB
 
A OR B  AまたはB
 
A Like "*B*"  AはBを含んでいる (Bの前後に文字が入っていても該当する)
 
A Like "*B”  AはBを含んでいる (末尾Bの前に文字が入っていても該当する)
 
 
「*」はワイルドカードと呼ばれており、 あいまい検索したいときによく使います。
 
 
 
 
 
 
東京23区かどうかを調べるプロシージャを使って、 ワイルドカードを試してみましょう。
A列に東京都の市区町村を入力し、B列に23区かどうか評価を入力します。
 
 
 
 
 
 
Sub 東京23区()

  Dim 行 As Integer
  Dim 上端 As Integer
  Dim 下端 As Integer

  上端 = 2
  下端 = 63

  For 行 = 上端 To 下端
     If Cells(行, 1) Like "東京都*区" Then
        Cells(行, 2) = "○"
     Else
        Cells(行, 2) = "×"
     End If
  Next 行

End Sub
 
 
"東京都*区"とすることで、「東京都」で始まり「区」で終わっているものだけに○を付けることができました。
 
 
 
 
不等号などの演算子は、次回の練習問題で使ってみましょう乙女のトキメキ
 
これらの演算子の他にも、If や Select Case と相性のいいVBA関数もありますので、また別の機会に紹介させていただきますね!!
 
お疲れ様でした爆  笑
 
今回のテーマはSelect Case文です電球
 
こちらもIfと同様、条件で場合分けして操作したいときに使います。
 
 
 
基本的な形はこちらです。
 
Select Case (変数、 セルなど)
Case 条件1
 処理1
Case 条件2
 処理2
Case 条件3
 処理3
Case Else
 処理
End Select
 
 
上(条件1)から順に(変数、 セルなど)の値が条件に合うか見ていき、条件に合ったところ の「処理○」 が実行されます。
 
どの条件にも合わなかった場合は、 Case Else の 「処理」 が実行されます。
 
 
 
 
 
例えば、 Ifと同様の例で解いてみましょう。
 
 
毎月りんごを買っています。
4月は1個190円のりんごを5個、5月は1個169円のりんごを8個、6月は1個211円のりんごを3個買いました。
毎月の経費はいくらでしょう?
ただし、ワークシートには月だけ入力されているものとします。
 
 
 
Sub SelectCase練習()

    Dim 横 As Integer

    For 横 = 2 To 4
        Select Case Cells(1, 横)
        Case "4月"
            Cells(2, 横) = 190 * 5
        Case "5月"
            Cells(2, 横) = 169 * 8
        Case "6月"
            Cells(2, 横) = 211 * 3
        End Select
    Next 横

End Sub
 
 
このようなコードになります。
 
For NextでB1からD1までセルを見ていって、セルの値が何月かによって場合分けしています。
 
 
次回は、If や Select Case とよく一緒に使われる演算子です。
お疲れ様でした爆  笑
 
今回のテーマは If 文です電球
 
条件で場合分けして操作したいときに使います。
 
 
 
基本的な形はこちらです。 
 
If  条件1  Then
  処理1 
Elself  条件2  Then
  処理2
Elself  条件3  Then
  処理3
Else
  処理
End If
 
 
上 (条件1) から順に条件に合うか見ていき、条件に合ったところの「処理○」 が実行されます。
 
どの条件にも合わなかった場合は、 Else の 「処理」 が実行されます。
 
 
 
また、条件に合った時の文が単文であれば、
 
   If  条件  Then  処理
 
ともできます。
 
 
 
 
例えば、変数と繰返しの回で出した例で解いてみましょう。
 
 
毎月りんごを買っています。
4月は1個190円のりんごを5個、 5月は1個169円のりんごを8個、6月は1個211円のりんごを3個買いました。
毎月の経費はいくらでしょう?
ただし、ワークシートには月だけ入力されているものとします。
 
 
 
Sub If練習()

    Dim 横 As Integer

    For 横 = 2 To 4

        If Cells(1, 横) = "4月" Then
            Cells(2, 横) = 190 * 5

        ElseIf Cells(1, 横) = "5月" Then
            Cells(2, 横) = 169 * 8

        ElseIf Cells(1, 横) = "6月" Then
            Cells(2, 横) = 211 * 3
        End If

    Next 横

End Sub
 
 
こういったコードになります。
For NextでB1からD1までセルを見ていって、セルの値が何月かによって場合分けしています。
 
 
 
 
次回はSelect Case文で今回とは違った条件の書き方を勉強しましょう爆  笑
練習はその後まとめてします花