Excelで複数のシートに従業員情報を振り分けるマクロを作成する際、特定の条件に沿って自動的にデータをコピー・上書きする方法を理解することが重要です。本記事では、Sheet1から他の営業所・会社シートへの振分処理を効率よく実現する手順を解説します。
振分処理の全体構成
まず、マクロはボタンを押すことで実行される設計にします。処理の流れとしては、Sheet1のヘッダー行のコピー、従業員情報の参照、条件に沿った振分、重複チェックを順に行います。
このように構成することで、データの整合性を保ちながら複数シートへの自動振分が可能です。
ヘッダー行のコピー
Sheet1の3〜4行目をSheet2以降すべてのシートの同じ行に上書きします。これにより、各シートで同じ項目順を維持できます。
VBAコードではRangeオブジェクトを用いて、行単位でコピー&ペーストすることが一般的です。
従業員情報の振分条件
Sheet1のA列を参照し、各営業所シートと一致する場合、かつB列が「直営」であれば該当シートにデータをコピーします。また、B列の会社名とSheet2以降の会社名シートが一致する場合も振分対象となります。
なお、Sheet1のA列に存在しない営業所や退職者の情報は無視する設定にします。
重複チェックと強調表示
振分対象範囲(行5以降、列A〜CC)で、B、C、D、E列の情報が同一の場合はセルを赤く塗りつぶし、ポップアップで「情報が重複しています」と通知します。VBAではDictionaryオブジェクトやCollectionを使って重複判定することができます。
これにより、同じ従業員データの重複入力を防止し、整合性を保持できます。
マクロ実装の注意点
既存データは上書きされるため、必要に応じてバックアップを取得してください。また、Sheet名が正確に設定されているか、対象範囲が正しく指定されているかも事前に確認します。
ボタンを配置してマクロを割り当てることで、ユーザーが簡単に振分処理を実行できるようになります。
まとめ
本記事では、ExcelでSheet1の従業員情報を複数の営業所・会社シートに振り分けるマクロ作成の手順を解説しました。ヘッダーコピー、条件に沿った振分、重複チェック、上書き処理を組み合わせることで、効率的かつ安全にデータ管理が可能です。これらの手順を実装することで、日々のデータ更新作業を大幅に簡略化できます。


コメント