トップ > 資格を活かすには > やってみよう!Excel VBAで業務改善! > 次なるイノベーション編: 第24話「根回しの本質」2/4 :昨日の続き

やってみよう!Excel VBAで業務改善! 次なるイノベーション編|第24話 「根回しの本質」

昨日の続き

翌日、出社した森川くんは急いでパソコンを起動すると、
"営業進捗管理一覧"ブックをExcelで開きます。

「昨日一日で、大分進んだな。
…しかし岬先輩、さすがだな。
コードを見ただけで、あっという間に手直ししちゃうんだもんな。
すごいスキルだよ」
森川くんはVBEを開くと、コードウィンドウに記述されたコードを眺めます。

Sub 検索()
    Dim r As Long
    Dim EndRow As Long, EndCol As Long
    Dim KeyWrd As String
    
    Const MidashiRow As Long = 5
    Const MidashiCol As Long = 1
    
    EndRow = Cells(Rows.Count, MidashiCol).End(xlUp).Row
    EndCol = Cells(MidashiRow, Columns.Count).End(xlToLeft).Column
    KeyWrd = Range("B3").Value
                
    For r = MidashiRow + 1 To EndRow
        If Range(Cells(r, MidashiCol), Cells(r, EndCol)) _
            .Find(KeyWrd, LookAt:=xlPart) Is Nothing Then
            Rows(r).Hidden = True
        End If
    Next r
End Sub

「入れ子のループが無くなったおかげで、ずいぶんスッキリしたな…。
あっと、未実装だった"クリア"ボタンのマクロを作らなきゃ」

Sub クリア()
    Rows.Hidden = False
End Sub

「…クリア処理は、あっという間にできちゃったな。
すべての行に対して、HiddenプロパティをFalseにしてやるだけだから…、
"Rows.Hidden = False"で、オッケーだ」

一覧にもどる