エクセルマクロ・VBA達人養成塾 小川です。
論理演算について。
And, Or, Not という演算子があります。
それぞれ、
And: Andの左も Andの右も True なら True。それ以外の場合は Falseを返す。
Or : Or の左と Or のどちらかが True なら True。それ以外の場合は Falseを返す。
Not: Not 以降で言っていることが False なら True。TrueならFalseを返す。
というもの。
以下、例を示してみます。
Sub AndOrSample()
Range(“A1”).Value = 5
Range(“B1”).Value = 8
If Range(“A1”).Value < 10 And Range("B1").Value < 10 Then
Range("A3").Value = "左辺と右辺の両方がTrueです"
Else
Range("A3").Value = "左辺と右辺の少なくともどちらかがFalseです"
End If
If Range("A1").Value < 10 And Range("B1").Value = 10 Then
Range("A4").Value = "左辺と右辺の両方がTrueです"
Else
Range("A4").Value = "左辺と右辺の少なくともどちらかがFalseです"
End If
If Range("A1").Value < 10 Or Range("B1").Value = 10 Then
Range("A5").Value = "左辺と右辺の少なくともどちらかがTrueです"
Else
Range("A5").Value = "左辺と右辺の両方がFalseです"
End If
If Range("A1").Value = 10 Or Range("B1").Value = 10 Then
Range("A6").Value = "左辺と右辺の少なくともどちらかがTrueです"
Else
Range("A6").Value = "左辺と右辺の両方がFalseです"
End If
If Not Range("A1").Value = 10 Then
Range("A7").Value = "セルA1の値は10ではありません"
Else
Range("A7").Value = "セルA1の値は10です"
End If
End Sub[/vb]
And, Or, Notについてもっと直感的に説明すると、こういう感じです。
「男であって、大人であれば」こき使われる → 両方の条件を満たさなければないないので「And」
「女であるか、子供であれば」大切にされる → どちらかの条件を満たせばよいので「Or」
「女でなければ」大切にされる → 「でなければ」なら、「Not」