「あのシート、どこだっけ…?」大量のシートから一瞬で目的の場所を探し出すVBA活用術

【業務効率化】VBA
スポンサーリンク

こんにちは!ぐーです。
いつもブログをご覧いただき、ありがとうございます!

仕事をしていると、月末にこんな「困ったファイル」が回ってきませんか?

たとえば、「シートが50枚以上もある巨大な売上管理表」など。

画面下の見出しを何度もスクロールして、「4月のA社の請求書は……あ、行き過ぎた!戻らなきゃ……あれ、どこ?」なんて経験、きっと一度はありますよね。

そこで役立つのが、「For Each(フォー・イーチ)」という考え方です。

想像してみてください。机の引き出しに50冊のノート(シート)が乱雑に入っている状態を。

そこから「4月のA社」のノートを探すとき、あなたならどうしますか?

きっと、手前から一冊ずつ「これはA社?……違う、次!」と順番に確認していきますよね。

今回ご紹介するコードは、この「順番にめくって探す作業」を、一瞬で代行してくれるものです。

「For Each」は、「それぞれの(Each)シートに対して(For)、順番に処理してね」という命令です。

人がやると数分かかる作業も、パソコンならわずか1秒で完了します。

【業務効率化】VBAの記事を見る

【コピペでOK】シートを一瞬で検索する魔法のコード

では、実際のコードです。

さっそく、Excelの「開発」タブからVBAエディタを開き、以下のコードをコピー&ペーストしてみましょう!

Sub FindSpecificSheet()
    Dim ws As Worksheet
    Dim targetName As String
    Dim isFound As Boolean

    ' ★ここに探したいシートの名前を入れてください
    targetName = "集計用" 
    ' 最初は「見つかっていない」状態(False)にしておきます
    isFound = False

    ' すべてのシートを1枚ずつ確認します
    For Each ws In ThisWorkbook.Worksheets

        ' もし、シートの名前が探している名前と一致したら…
        If ws.Name = targetName Then
            ws.Activate 
            MsgBox "見つかりました!", vbInformation, "検索結果"
            isFound = True 
            Exit For ' 見つかったので、探す作業を終了します
        End If
    Next ws

    ' もし最後まで探して見つからなかったら…
    If isFound = False Then
        MsgBox "「" & targetName & "」というシートは見当たりませんでした", vbExclamation
    End If

End Sub

このコードのポイント

このコードは、ただ探すだけではありません。

  1. 見つかったシートへ瞬時にジャンプ!
    「あったよ!」と教えてくれるだけでなく、そのシートをアクティブ(表示状態)にしてくれるので、そのまま流れるように作業を始められます。
  1. 見つからなかった時も教えてくれる
    もし名前が間違っていたり、シートが削除されていたりしても、「見当たりません…」と優しく教えてくれます。エラーで画面が固まるようなことはありません。

今回は「シート探し」を例にしましたが、「大量のデータの中から条件に合うものを探す」という場面で、For Eachは最強の味方になります。
ぜひ毎日の業務にも取り入れてみてください!

【業務効率化】VBAの記事を見る


VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。

この記事を書いた人
ぐー

手取り15万円の会社員でも、年間100万円以上の節約・資産管理・スキルアップで新NISAで年間360万円投資し、iDeCoもフル活用しています。日商簿記3級持っています。

このブログでは、私が実践してきた節約術やリアルな資産運用、稼ぐ力を高めるITスキルについて発信しています。

生活を豊かにしたくて、高配当株投資で年間配当金60万円をめざしています。現在は年間配当金25万円以上達成!

ゲーム・漫画・アニメなどが好きです。
一緒に資産形成をがんばりましょう!
よろしくお願いします!

ぐーをフォローする
【業務効率化】VBAITスキル
スポンサーリンク
ぐーをフォローする

コメント

タイトルとURLをコピーしました