拙著『いちばんやさしいExcel VBAの教本』のp.145に、「And条件、Or条件の書き方」というワンポイント(コラム)を書きました。
このワンポイントではAnd条件を指定する書き方として、
If Range("A4").Value >= 60 And Range("A4").Value < 80 Then
という例を、ご紹介しています。
このコードを理解してから、別の書き方もできることを、知っていただきたいと思っています。
読むときに直感的にわかる書き方
A4セルの値が「60以上かつ80未満」という条件を、
If 60 <= Range("A4").Value And Range("A4").Value < 80 Then
のように書くこともできるのです。
実はこの書き方のほうが、どのような条件かを、直感的に理解しやすいと感じる方が、少なくないのではないかと思っています。
これに対し、拙著でも書いた、
If Range("A4").Value >= 60 And Range("A4").Value < 80 Then
のほうは、直感的ではなく、一般的な文章を読むときと似た思考を経て意味を読解するため、
If 60 <= Range("A4").Value And Range("A4").Value < 80 Then
よりも、理解にかかる時間が長いはずです。
書きやすいのは...
なお、コードを書く段階では、
If 60 <= Range("A4").Value And Range("A4").Value < 80 Then
より、
If Range("A4").Value >= 60 And Range("A4").Value < 80 Then
のほうが書きやすいと感じる方が多いのではないかと考えています。
そのため拙著では
If Range("A4").Value >= 60 And Range("A4").Value < 80 Then
だけを書いたわけです。
なぜか、
If 60 <= Range("A4").Value And Range("A4").Value < 80 Then
を明確に否定するコーディング規約を見たこともあるのですが、読みやすいコードを書くという観点から、
If 60 <= Range("A4").Value And Range("A4").Value < 80 Then
を否定することはできないと、私は考えています。
最終更新日時:2019-07-12 08:11
Home » いちばんやさしいExcel VBAの教本 » And条件の書き方