トップ > 資格を活かすには > やってみよう!Excel VBAで業務改善! > 次なるイノベーション編: 第30話「順調に進んでるみたいだな」2/4 :AND検索とOR検索の違い

やってみよう!Excel VBAで業務改善! 次なるイノベーション編|第30話 「順調に進んでるみたいだな」

AND検索とOR検索の違い

「AND検索は、"1つでもキーワードを含まないケースがあれば、
その時点で非表示にする"ことで、実現したんだよな…。
OR検索は逆に、"すべてのキーワードを含まない場合、非表示にする"というところか…」

森川くんは、再びおもしろい顔をしながら、頭を左右に動かします。

「すべてのキーワードを検索したかどうかを判定するには……、
配列KeyWrdのUboundを調べればわかるじゃないか!」

彼は小さな目をパッと見開くと、カタカタとキーボードを叩きます。

        Case "2"
            'OR検索の処理
            If Range(Cells(r, MidashiCol), Cells(r, EndCol)). _
                Find(KeyWrd(i), LookAt:=xlPart) Is Nothing Then
                If i = UBound(KeyWrd) Then
                    Rows(r).Hidden = True
                End If
            End If

「…これでいいんじゃないか?
カウンタ変数iがUBound(KeyWrd)と一致したときは、
最後のキーワードを検索しても見つからなかったときだから、
このタイミングで非表示にする…っと」

森川くんは一覧表の中から、出現頻度の少ない文字列を探します。

「"中村"と"稟議中"のキーワードは、合わせて6行しか出てこないな…。
これでテストしてみよう」

彼は、B3セルに"中村 稟議中"と入力し、[Or検索]オプションを選択すると、
[検索]ボタンをクリックします。

「………ありゃりゃ。そう簡単にはいかないか…。
"稟議中"は検索してるけど、"中村"は全く検索してないな…。
なんで、こうなるんだろう?」

森川くんはOR検索のコードと、にらめっこをします。

一覧にもどる