サイトアイコン マメBlog

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

豆父ちゃん

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

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

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

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

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

 

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

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

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

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

 シートから別シートに必要な情報を転記する方法ってないの? こんな疑問にお答えします。 結論から言うと、シート名を取得するVBAを使って、別シートに情報を自動反映させるマクロを作成する!です。 別シートに情報を転記するマクロの概要がこちら 一覧表に入力している大量の情報を、ボタンをクリックするだけで別シートの好きな場所(セル)に転記することが可能。 この別シートに情報を転記するマクロはシート名を取得する方法さえ理解すれば簡単に作成することができます。この記事では画像や動画を...
【エクセルマクロ】別シートに情報を自動反映させるマクロの作り方・導入方法を紹介 - mamemametochan.com

 

仕事に導入した転記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でシート名を取得する方法が知りたい。 こんな疑問にお答えします。 結論からいうと、オブジェクト型変数を使ってシート名を宣言する!です。 オブジェクト型変数と言われてもよくわからない!という方がほとんどですよね。 実際のVBAではオブジェクト型変数を設定することになりますが、オブジェクト型変数を深く理解していなくてもできるシート名の取得方法をご紹介していきます。   難しいことはいいから、VBAでシートを区別したい 別シートに情報を転記するVBAを設定したい シート...
シート名を取得するVBAの設定【シートを区別することで作業効率アップ】 - mamemametochan.com

転記項目が多いと、記載する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について下記の記事で詳しく紹介しているので参考にしてみてください。

豆父ちゃん同じような編集を複数のエクセルファイルに行っていて、効率がすごい悪い。複数のエクセルファイルを同時で処理する方法はないの?こんな疑問を抱えながら作業をしている方のために、複数のエクセルファイルを操作するVBAを紹介します。私が仕事で導入しているのは、別々のエクセルファイルで管理しているスケジュール表をいっぺんに操作する!というもの。どのような処理が可能なのかは下記の記事で詳しく紹介しています。 複数のエクセルファイルを操作するVBAとはどういうものか上記の動画では、仕事でよく使われる「...
複数のエクセルファイルを同時に操作するVBA【サンプルを使って紹介】 - mamemametochan.com

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

 

VBA初心者が効率化マクロを導入する方法

 

VBAなんて扱ったことないけどエクセル作業を自動化するマクロを導入したい!

このような問題を抱えながら日々のエクセル業務をこなしている方がおおくいらっしゃるのではないでしょうか。

 

こんな問題を解決する方法がこちら

 

VBAの勉強を始める前は上記の方法で効率化マクロを導入していました。

 

 

 

完成されたマクロを使ってエクセル業務を処理する

作業効率が2倍以上アップ!!

便利すぎて自分でもマクロを設定したいと考え始める

参考書やネットの情報でVBAスキルを身に付ける

マクロ開発を代行できる程のスキルを習得

 

 

 

VBAは

他のプログラミングに比べて参考書やネットで紹介されている情報量が多いので初心者でも導入しやすい

という特徴があります。

 

毎日のルーティーン作業にうんざりしている、だれでもできる単純作業に時間を費やしている、という方はあなたに合った方法でVBAを導入しちゃいましょう。

 

マクロの開発を外注に依頼する

マクロの開発を外注に依頼する導入方法は

VBAを全く扱えない方でもエクセル作業を自動化できる最も簡単な方法

です。

 

「こんなエクセル作業を自動化したい」「作った資料を自動的にPDFで保存したい」「決まった様式に写真を自動で貼り付けたい」

こんな感じで実現したい内容を依頼するだけで業務内容に合ったマクロを開発してくれます。

 

ガッツポーズの人

完成まで本業に集中できるので効率的

 

 

デメリットは、費用がかかることだけ。

開発内容、依頼先によってかかる費用は大きく異なります。

私が会社員の頃利用していた業者さんは1マクロあたり2万円~3万円の費用がかかりました。

 

疑問がある人

ちょっと高くない。。。

 

ちなみに、マメBlogでもエクセルマクロ開発代行サービスを承っています。

開発内容の確認、VBAコードの設定、動作確認後の調整、など全ての工程を私(マメ父ちゃん)が行っているので、

費用が安い!スピード納期!!

でやらせてもらっています。

 

ほとんど独学で身に付けたVBAスキルなので、内容によっては開発できないこともあるのでご了承ください。

 

ご相談、見積もり依頼は完全無料ですので気になる方は下記のリンクよりお問合せ下さい。

 

 

マクロが設定されたエクセルファイルをダウンロードする

VBA初心者でも『マクロが設定されたエクセルファイルをダウンロード』ですぐにエクセル作業を自動化することができます。

 

たとえば、

A4用紙に写真を貼り付けてコメントを入力する作業を自動化したい!という場合、

『写真を貼り付けるマクロ』が設定されたエクセルファイルをダウンロードすれば問題解決です。

 

実際に、『写真を貼り付けるマクロ』をダウンロードして使っている様子がこちら

 

 

ガッツポーズの人

写真貼付け作業の効率がめちゃくちゃアップ

 

 

『マクロが設定されたエクセルファイルをダウンロード』する導入方法は、

VBA初心者でもマクロを導入できる、費用が安い、

というメリットがあります。

 

しかし

VBAに関する情報が多く公開されているとはいえ、ネット上で想定するマクロは見つけることが難しい

というデメリットもあります。

 

ガッツポーズの人

お目当てのマクロが見つかればラッキー

 

個人ブログやファイルを販売できるサイト「note」や「Tips」ではいろんなマクロの情報が掲載されているので是非参考にしてみてください。

 

今までマメBlogで受注した効率化マクロを下記のnoteで掲載していますので併せてチェックしてみてください。

 

 

 

参考書やネットでVBAスキルを身に付ける

先程も紹介しましたが、

VBAは他のプログラミングに比べて参考書やネットで紹介されている情報量が多いので初心者でも導入しやすい

プログラミングです。

 

言い換えると、

情報量が豊富なので自分で勉強できちゃう

ということです。

 

私のVBAスキルはほとんど独学で身に付けたもので、

考えた処理のほとんどをVBAで表現できるレベルにまで到達した!

と思っています。

 

私の作ったマクロをプロのプログラマーが見れば、

お前の書くコードはインチキだ!「変数の宣言」とか「引数」を正しく使えよ!!

と感じるはずです。

 

でも、

私からすればどうでもいい!!!想定した内容を正しく処理できればよくないですか!?

 

独学であっても『写真を貼り付けるマクロ』『全てのシートをPDF出力するマクロ』『連番を振るマクロ』など、

業務内容に合ったマクロを開発できるようになれます。

 

独学でVBAスキルを身に付けるコツは、

エラーが発生してもいいからひたすらコードを書く、なんでもいいからエクセル作業をマクロ化してみる

です。

 

とは言っても、全くの知識0の方は何をすればいいかわからないですよね。

 

VBA知識0の初心者の方は、参考書『たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】』を読んでみてください。

 

VBAの知識0の方でもすいすい読み進められる内容になっています。

やさしい内容にも関わらず「え!!VBAを使えばこんなことできるの!?」と感動すると思います。

 

実際に私はこの参考書を読んでからVBAの勉強を始めました。

 

ひらめく人

VBA学習スタートのきっかけをくれた参考書


 

 

VBAの魅力を発見した後は、

ひたすら自動化したい処理を実現するコードを書くだけ

です。

 

【VBA 写真を貼る】、【VBA PDF出力】、のようにネット検索すれば知りたいコードをすぐにゲットできます。

 

実現したい処理に向かって、「調べる→書いてみる→エラーを改善する→調べる」を繰り返していると

自然といろんなマクロが作れるようになっているはずです。

 

VBAに興味が湧いてきたという方は今からVBA学習をスタートさせちゃいましょう。

モバイルバージョンを終了