VBAで転記作業の効率が格段にアップする【複数の書類をまとめて作成する方法】

Left Caption

豆父ちゃん

氏名、住所など同じ内容の記入項目がある書類を何種類も作成しなければならない。効率よく書類を作成するいい方法ってないの?

こんな疑問にお答えします。

結論から言うと、VBAを使ってテキストを転記する!です。

VBAの設定によっては、シートからシートへ転記したり、ブックからブックへ転記することができます。作業内容にあったVBAを設定すれば、今まで使っていたエクセルファイルに手を加えずに転記VBAを設定することができます。

日々の業務で、同じことも何度も手入力している方におすすめです。



転記VBAとはどういうもの?

転記VBAとは、SheetからSheetやBookからBookに情報を転記するというものです。下記の動画では、実際に転記VBAがどうのような動作ををするかを紹介しています。

動画のような、SheetからSheetに情報を転記するVBAでは、番号で転記する情報を指定することができます。そのため過去に作成した資料を簡単に出力することができます。履歴を簡単に出力できるのはとても使いやすい!と私の職場ではかなり好評です。

VBAもとても簡単に作成することができます。自分で転記VBAを作ってみたい!という方は下記の記事を参考にしてみてください。どのようにプログラムを記載すればいいのか具体的に紹介されています。

 

仕事に導入した転記VBA

 

私は電気設備の保守管理会社に勤めていて、エクセルを使って膨大な電気設備の状態や点検周期を管理しています。そんな私が、実際に仕事で導入している転記VBAを紹介します。

電気設備の検査表を自動で作成する転記VBA

電気設備の台帳から検査表を転記VBAを使って自動で作成しています。転記VBAの導入前は、手作業で検査表を作っていたのですが、入力ミスや転記漏れが発生していました。

転記VBA導入することで、検査表の作成が完全自動化となり、入力ミスや転記漏れがなくななったおかげで検査表作成にかかっていた時間を現場で検査する時間に充てることができるようになりました。

人間の思考が必要のない作業には、プログラミングを使って自動化することがおすすめです。

 

伝票作成に導入した転記VBA

取引相手やお金が関係するような伝票作成に転記VBAの導入はとてもおすすめです。動画のように、全ての取引内容を出力するのか、日付を絞って出力するのかを設定することができます。

条件で出力内容が変わるような業務を手作業で行っていると必ずミスが発生してしまいます。全ての出力条件を網羅する転記VBAを設定してしまえば、転記ミスがなくなり作業効率が格段にアップします。

 

予定を管理するエクセルカレンダーに導入した転記VBA

予定管理に必要なエクセルカレンダーをより使いやすくするために、転記VBAを設定しました。年間カレンダーと月間カレンダーのや予定を同期する!という機能です。

エクセルカレンダーでありがちな失敗として、

「月間カレンダーに予定を記入したけど年間カレンダーに記入するのを忘れた。年間カレンダーで予定を組んでいた同僚と予定がバッティングしてしまった。」

なんてことがあります。

転記VBAを使って、予定を同期させることでこんな失敗を防止することができます。動画で紹介しているエクセルカレンダーは下記のサイトからダウンロードして使うことができます。

 

エクセルカレンダーには他にも、年度切替VBA、条件によって背景色を変えるVBAなどの機能が設定されています。エクセルカレンダーで予定を管理している方、これからエクセルで予定を管理しようと考えている方は参考にしてみてください。

 

仕事で使える転記VBAの特徴

仕事で使える転記VBAには3つの特徴があります。特徴の共通点は、作業効率のアップにつながる!ということです。

転記するだけでおおげさだなぁ!と感じる方もいると思いますが、そんなことはありません。私の職場では、転記VBAがなければ仕事にならない!と言う方もいるくらい重要なツールになっています。

いろんな方からの評価を受けて判明した、転記VBAの特徴を紹介します。

 

同じ項目の入力作業を省力化

それぞれ全く同じ氏名、会社名、住所をいろんなデータに入力する資料作成の仕事に転記VBAは効果を発揮します。

例えば、

請求書、領収書、見積書を作成するとき、相手の情報をそれぞれのデータに入力しなければなりません。手作業で行っていると、どれか一つのデータで入力ミスをしてしまい、どのデータが正しく入力されているのかわからなくなってしまう!なんてことが発生してしまいます。

転記VBAを設定していれば、どれか一つのデータだけ入力内容を間違ってしまう!という事象は発生しません。内容がリンクしていなければならない資料作りに転記VBAの設定はとてもおすすめです。

 

 

仕事で使っているエクセルファイルをそのまま利用

今まで使っていたエクセルファイルに必要な情報を転記する!という設定にすれば、今まで使っていた様式はそのままで転記VBAを導入することができます。

会社独自の様式で資料を作成している方がほとんどだと思います。私の職場では、会社で作成した勤務表、超勤整理簿、勤怠表、運転日誌の入力作業があります。入力する内容はほとんど同じなのにファイルが別々になっているので、全て入力するのに時間と手間を要していました。特に、似たようなファイルの種類が多すぎて、入力漏れが多発し問題となることがありました。

そこで導入したのが、「入力用のエクセルファイルを作成し、関係する全てのエクセルファイルに入力事項を転記する」という転記VBAです。

今まで使っていたエクセルファイルを編集する必要がないので、人数の多い職場でも簡単に導入することができます。転記VBAが設定された入力用のエクセルファイルの使い方だけを周知すれば完了です。

 

過去の履歴をすぐに確認できる

転記VBAには、入力用のフォーマットが必要不可欠です。入力用のフォーマットからいろんな書式のファイルに対応する情報を転記していきます。なので、入力用のフォーマットに一度入力すると履歴が残りいつでも出力することができます。

過去に使ったエクセルファイルをコピー、編集上書きしている方が多いかと思います。

ファイルを使いまわすデメリット

 

  • bookやsheetが増えていく
  • 過去に作った資料を探すのに時間がかかる
  • 編集ミスが発生しやすい

転記VBAにはいろんなメリットの他に、上記のデメリットを解消することができるので、決められた様式の資料作成におすすめです。

 

sheetからsheetに転記するVBAの導入

sheetからsheetに転記するVBAは、複数ある決められた様式が一つのbook内にある場合に設定します。

 

1.設定sheetを設定

設定sheetとは、転記する情報が全て記載されたSheetのことをいいます。ここでの注意事項が、転記する情報を1つのSheet内に全てまとめてしまう!ということです。

転記したい情報がSheetを跨いでいろんな場所に記載されていると、転記VBAを作成するときに大変になってしまいます。そのため設定Sheetは転記する全ての情報が入力できる様式に設定することが重要です。

 

2.転記VBAの作成

設定sheetの設定が終わったら、ひたすら転記VBAを設定していきます。転記する項目が多いと記載する転記VBAはその分長くなっていきます。

 

工事件名を転記する例

1 Dim Ash As Worksheet
2 Dim Bsh As Worksheet
3 Set Ash = ThisWorkbook.Worksheets(“一覧表")
4 Set Bsh = ThisWorkbook.Worksheets(“工事契約書")
5 Bsh.Range(“H6") = Ash.Cells(3, 2)
6 Bsh.Range(“H6").HorizontalAlignment = xlLeft

1行目から4行目まではシートの設定に関するVBAです。私は書きやすいように、シート名をAshやBshとしますが、シート名は好きなように設定することができます。下記の記事でシートの設定について詳しく紹介していますので参考にしてみてください。

転記項目が多いと、記載するVBAが多くなり大変になります。根気よく頑張りましょう。

 

BookからBookに転記するVBA

BookからBookに転記するVBAは、複数ある決められた様式がエクセルファイルで1つずつ保存されている場合に設定します。

1.設定Bookを作成

設定Bookを新規作成し、作成したbook内に転記する全ての情報が入力できる様式に設定します。

 

 

※上記画像では、設定Bookが「入力用.xls」と表示されています。

 

2.転記VBAの作成

BookからBookに転記するVBAには、5つのVBAの設定が必要です。

 

  • 転記先のBookを指定
  • 転記先のBookを開く
  • 情報を転記
  • 転記先のBookを保存
  • 転記先のBookを閉じる

転記先Bookが複数ある場合、5つのVBAを繰り返し記載していきます。

 

入力用Bookの工事件名を契約書Bookに転記する例

1 Dim Abook As Workbook
2 Set Abook = Workbooks.Open(転記するBookの保存場所)
3 ThisWorkbook.Activate
4 Abook.Sheets(1).Cells(6, 8) = ThisWorkbook.Sheets(1).Cells(3, 2)
5 Application.DisplayAlerts = False
6 Abook.Save
7 Abook.Close
8 Application.DisplayAlerts = True

4行目が「入力用Book」から「工事契約書Book」に転記するVBAになります。4行目以外は、Bookの宣言や開いたBookを閉じるVBAです。

他のエクセルファイルを操作するVBAについて下記の記事で詳しく紹介しているので参考にしてみてください。

他のBookへの転記VBAは、転記する情報が記入された場所と転記する場所を見比べながらVBAを記載していきます。2つのエクセルファイルを見比べながらVBAを作るのはとても大変な作業ですが、根気よく頑張ってください。

 

転記VBAは実際の業務で効果的

仕事で使っているほとんどのエクセルファイルに転記VBAが設定されています。

 

 

  • 契約書の作成
  • 電気設備の検査表作成
  • 電気工事の予定表作成
  • 申請書類の作成

 

転記VBAの導入前は資料を作成するだけで数日かかっていましたが、転記VBAを導入後は1日で終わらせることが可能になりました。さらにパソコン操作が苦手な年配の方が、「入力用のSheetへの記入ならできる!」とすすんで資料作成に参加してくれるようになり、思わぬ要因で作業効率をアップさせることができました。

中でも転記VBA導入の一番のメリットは、資料作成のときミスを激減させることができる!ということです。資料作成で最も効率の悪い作業が、やり直し作業です。

転記VBAを使えば、作業効率が上がり作り終えた資料のチェックする時間が増えるので、入力ミスを激減させることができます。

やり直し作業が多い方は是非転記VBA導入を検討してみてください。

当ブログではエクセルVBAの作成依頼を受注しています。

「こんな資料作成業務があるんだけど転記VBAを導入してみたい!」というようなザックリとした依頼でも構いません。どのような転記VBAにしたら効率化が上がるか!を私が考え提案させていただきます。

 

まずは上記の送信フォームからお気軽にお問合せください。