毎回繰り返すコピペをExcelにやってもらえるマクロ

  • URLをコピーしました!

先日、マクロ入門初級セミナーに参加された方から送っていただいた事例です。
セミナー後に即送ってきていただいて感激しました。
(Iさん、ありがとうございます)
スクリーンショット 2013 08 10 10 06 41

Excelマクロの事例

事例は、次のようなデータ一覧を
スクリーンショット 2013 08 10 9 44 18

このような契約書に転記するというものです。
(実際の契約書はもっと項目が多く細かいです)
スクリーンショット 2013 08 10 9 59 10

 

 

効率よくやる方法は?

普通にやるならば、項目を1つずつコピーして、契約書に貼り付けるしかありません。
(ケースによっては複数の項目をコピーし、行と列をいれかえて貼り付けることができます)
スクリーンショット 2013 08 10 10 09 10

VLOOKUP関数を使って、連動させる方法もあります。

最も効率的なのは、マクロを使う方法でしょう。
「コピーして貼り付け」、いわゆる「コピペ」をExcelがやってくれるのです。
疲れることもありませんし、別途お金がかかるわけでもありません。
毎月(毎回)人間が大量にコピペしていては、いくら時間が合っても足りなくなります。
マクロなら、どんなにデータが増えても作業量は変わりません。

「コピペをやってもらう」というのはマクロでしかできない効率化です。
そのため、「Excelを極めてからマクロ」というよりも「Excelと同時期にマクロも学ぶ」ことをおすすめしています。

 

 

マクロの書き方

今回の事例でマクロをどうやって書くかを、順を追って解説します。
詳細を解説するわけではありません。
マクロを書くときの流れや考え方を理解していただければと思います。
(すでにセミナーを受講していただいた方は復習の意味で読んでください)

①ファイルには、シート「data」とシート「master」があります。「master」は契約書のフォーマットです。
これをコピーして使います。

Worksheets(“master”).Copy after:=Worksheets(Worksheets.Count)

こうかけば、シートの一番右にシート「master」をコピーできるのです。

②項目をコピー(代入)していきます。
「氏名」をシート「data」のセルC2にある「井ノ上陽一」を契約書のセルB3に転記します。

スクリーンショット 2013 08 10 10 16 56

これをプログラムで書くと、
ActiveSheet.Range(“b3”).Value = Worksheets(“data”).Range(“c2”).Value

※ActiveSheetは、省略できますが、理解のためにあえて書くことをおすすめします。

となります。

(今操作しているシートの)セルB3の値は、シート「data」のセルC3の値である(を入れる)

という意味です。

ほかの項目も同様に書きます。

③繰り返しの処理を入れます。
②の処理をExcelに繰り返してもらいます。
繰り返しの命令は、

Dim i as Long
For i = ○○ to △△

(繰り返す命令)

Next

という構文で書きます。

○○と△△には、どこからどこまで、繰り返すかを入れます。
(繰り返す命令)には、②の構文を少しアレンジして入れます。

今回の事例は、とりあえず2行目から4行目までを繰り返せばいいので、

スクリーンショット 2013 08 10 10 25 00

最終的にはこういうプログラムになります。

スクリーンショット 2013 08 10 10 25 43

ほかにもかっこいい書き方がありますが、わかりやすくシンプルなのが一番だと思っています。
私もプログラマーではないので、複雑なプログラムは書けません。

その他、アレンジするならば、次のようなものが考えれます。
・作った書類のシートに「氏名」、「契約書番号+氏名」等の名前を付ける
・ボタンをクリックしたらマクロを実行できるようにする・ショートカットキーでマクロを実行できるようにする
・すべてのデータでマクロを実行
・選択したセルだけマクロを実行
・特定の月の分だけマクロを実行
・作った書類を印刷する
・作った書類をPDFファイルで保存する

基本的なものを作って、少しずつ改善していく過程もマクロの面白いところです。

上記の事例は、請求書、給与明細、送付状などさまざまなケースで使えますので、一度身に付けておくと便利です。

 

マクロって?という方はこちらの記事も参考にしてください。
Excelマクロ入門ー実際にかんたんなマクロを書いてみましょうー | EX-IT
「記録マクロ」ではなく、「書くマクロ」を身につけよう | EX-IT
Excelでマクロを書く下準備ーExcelを持っていれば無料で使えますー | EX-IT
マクロとVBA。VBAを読み解くためのヒント | EX-IT

 

 

 





【編集後記】
昨日、東京は暖房が入っているかのような猛暑でした。
「暑い」「暑い」といってもられないので、昨日は夜ラン。
オフィスから自宅まで14km走りました。
途中、コンビニやなか卯で補給するのが楽しみでもあります。

  • URLをコピーしました!