データベースからテンプレートへの転記を一瞬でするマクロ

相談者   「エクセルでの見積・納品・請求・領収書の効率的な作り方②」に、マクロを使えばデータベースからテンプレートへの転記をワンクリックでできると書いてあります。Excelに登録する操作手順について、もう少しくわしく教えてください。

丸井   ではExcelで見積書を作成する場合を例に、ご説明いたしましょう。

相談者   お願いします。

丸井   こちらは見積書を作るためのデータベースのサンプルです。こちらをご覧になりながら、どうぞ。

元データベース

相談者   はい。


Excelに登録する操作手順


丸井   Excelには操作手順をこう登録します。──

  1. 「見積書」ボタンがクリックされた時、もしも「見積書番号」列のセルが一つだけ選択されていなければ、マクロを終了する
  2. 選択されているセルの、一つ右隣のセルのデータを見積書テンプレート(以下、テンプレート)の見積書発行日セルにコピペして、二つ右隣のセルのデータをテンプレートの案件名セルにコピペして、三つ右隣のセルのデータをテンプレートの案件詳細セルにコピペして、四つ右隣のセルのデータを……(以下省略)
  3. 選択されているセルのデータと同じデータを「見積書番号」列内で探して、もしも同じデータがあれば、その行のデータを2.と同様にコピペする
  4. 以上の操作手順が終われば、マクロを終了する

──これで、たとえば、C7セルを選択して「見積書」ボタンをクリックすると、「見積書番号」列に「12345」と入力された行のデータが、テンプレートに転記されることになります。

セルC7を選択

そうしてこんな見積書ができあがります。

見積書1

相談者   なるほど、これはいいですね。複数行にまたがっても、問題なく転記されるわけですね。


複数行が離れていても大丈夫


丸井   はい。操作手順の3.を登録することで、それを実現しています。この操作手順3.はとても優秀で、もしもその複数行が離れていたとしても、問題なく転記されるのです。こちらのデータベースをご覧ください。「12345」がセルC7、C8、C17に入力されています。

セルC7C8C17を選択

相談者   だいぶ離れていますね。

丸井   はい。こんな時でも、セルC7を選択して「見積書」ボタンを押すと、こんな見積書ができあがります。

見積書2

相談者   おお~、これはすばらしい。


まとめ


丸井   Excelに操作手順をこう登録することで、データベースの複数行のデータをテンプレートに転記することができます。その複数行が離れていても問題ありません。──

  1. 「見積書」ボタンがクリックされた時、もしも「見積書番号」列のセルが一つだけ選択されていなければ、マクロを終了する
  2. 選択されているセルの、一つ右隣のセルのデータを見積書テンプレート(以下、テンプレート)の見積書発行日セルにコピペして、二つ右隣のセルのデータをテンプレートの案件名セルにコピペして、三つ右隣のセルのデータをテンプレートの案件詳細セルにコピペして、四つ右隣のセルのデータを……(以下省略)
  3. 選択されているセルのデータと同じデータを「見積書番号」列内で探して、もしも同じデータがあれば、その行のデータを2.と同様にコピペする
  4. 以上の操作手順が終われば、マクロを終了する

──この操作手順は見積書の場合です。

相談者   会社に帰ったら、さっそくこのやり方でやってみます。ありがとうございました。

丸井   はい、こちらこそありがとうございました。


追伸


私・丸井翔がマクロを駆使して作った『Dmaker ディーメーカー:四書作成用Excelファイル(無料)』を使えば、誰でも簡単に、美しいデザインの四書(見積書・納品書・請求書・領収書)をすばやく作成・保存・集計・検索できます。もちろん、データベースの複数行のデータで四書を作成できますし、その複数行が離れていても大丈夫です。

詳細 >