トップ > 資格を活かすには > やってみよう!Excel VBAで業務改善! > 次なるイノベーション編: 第22話「岩田部長の反応」2/4 :検索キーワードを含むか判定する処理

やってみよう!Excel VBAで業務改善! 次なるイノベーション編|第22話 「岩田部長の反応」

検索キーワードを含むか判定する処理

「次は連結したwrkが、検索キーワードを含むかどうか判定する処理を……っと、
まだ検索キーワードを取得する処理を記述してなかったな」


    Dim EndRow As Long, EndCol As Long
    Dim KeyWrd As String, wrk As String
    :
  KeyWrd = Range("B3").Value
    :
    For r = MidashiRow + 1 To EndRow
        wrk = ""
        
        For c = MidashiCol To EndCol
            wrk = wrk & Cells(r, c).Value
        Next c

        If InStr(wrk, KeyWrd) = 0 Then
            Rows(r).Hidden = True
        End If
    Next r

「うん。これでいいんじゃないかな?
繰り返し処理に入る前に、String型の変数KeyWrdに、B3セルの値を取得する。
B3セルは、検索キーワードを入力するセルだ。
2つ目のループで、各列の値を連結した値を変数wrkに取得し、
InStr関数でキーワードを含むかどうか判定する。
戻り値が0…つまり含まないときは、その行のHiddenプロパティをTrueにして非表示にする…っと。
いい感じだぞ…」
ふと気がつくと、周りに誰もいません。
森川くんは集中していて、昼休みのチャイムを聞き逃したようです。

「ふ~~~。とりあえず、休憩するか。
午後から、このマクロをテストしてみよう」
彼はゆっくりと席を立つと、書き上げたコードを満足そうに見つめます。

「あっと、いけね!
……セーブ、セーブ!」
森川くんは思い出したかのようにマウスを手に取り、
"上書き保存"のアイコンをクリックしました。

一覧にもどる