同じ氏名や日付、金額を、入力シート、管理台帳、提出用の様式へ何度も入力していると、作業時間よりも「どこか一つだけ直し忘れる」問題が起きます。
基本は、正しい情報を一か所に入力し、ほかのシートは参照または自動転記で作る形へ変えます。
転記先が固定セルなら関数で足りることがあります。明細が増減する、複数人分を順番に作る、履歴として追記する、印刷や保存まで行う場合はVBAが候補です。
転記元と転記先の関係を固定できるか
どこから何を取り、どこへ入れるかが決まっていれば、転記は置き換えやすい作業です。明細数の増減や履歴への追記があるかも確認します。
- 同じ値を二つ以上のシートへ入力している
- 転記先のセル位置が毎回同じ
- 入力後に決まった名前で保存・印刷している
- 転記漏れを目視で確認している
- 入力シートと提出用シートで項目名が違う
入力元を一つにし、出力先を分ける
- 1正しい入力元を一つにする
どのシートを原本として扱うか決めます。
- 2項目を対応させる
入力元の列と転記先のセルを一覧にします。
- 3出力と確認を分ける
自動転記後に、未入力や異常値だけを確認します。
関数とVBAをどう選ぶか
単票の固定セルへ値を表示するだけなら、XLOOKUPなどの関数や参照式で十分な場合があります。履歴を追加する処理や、複数の帳票を一括作成する処理は、VBAの方が設計しやすいことがあります。
どの方法でも、「入力元を後から直したら転記先も変えるのか」「確定時点の値を残すのか」を先に決めてください。ここが曖昧だと、履歴が意図せず書き換わります。
入力元・転記先・追記例をそろえる
入力元と転記先の両方に加え、追記・上書き・削除をどう扱うかが分かる実例を用意します。
- 入力元と転記先を並べた項目対応表
- 未入力でもよい項目と必須項目
- 確定後に修正した場合の扱い
- 転記結果の見本を2〜3件
複数帳票や履歴追記まで必要なとき
- 一人分ずつ帳票を作り、保存名も変えている
- 履歴を消さずに追記する必要がある
- 複数人が同じファイルを使う
- 転記ミスが契約書、請求、申請に影響する
行位置やセル結合に依存しない
- 見た目が同じセルを、意味も同じだと思って結び付ける
- 確定前と確定後のデータを分けない
- 結合セルを多用した帳票へ無理に書き込む
- 途中で止まったときの再実行方法を決めない
よくある疑問
関数とマクロのどちらがよいですか?
転記先が表示用で、元データの変更に追随してよいなら関数が簡単です。確定値を履歴として追加する、一括保存する場合はマクロが向きやすくなります。
複数の転記先へ同時に反映できますか?
可能です。項目対応を明確にし、どれか一つでエラーが出たときに全体を止めるか、後で一覧にするかも決めます。
今の様式を変えずに自動化できますか?
固定様式のままでも対応できる場合がありますが、結合セルや不規則な配置が多いと保守しにくくなります。小さな変更で安定するなら、様式の見直しも候補です。