スポンサーリンク

Excel で作る振替伝票、マクロ機能(Excel VBA、 UWSC)を使って会計ソフトに仕訳データを自動で取り込む仕組み


経理職や会計事務所の仕事において、会計ソフトを使うのが主流である今、手書きの伝票は使う必要はありません。

最初から会計ソフトに仕訳を入力すれば事足ります。

しかし、現実には様々な事情がありどうしても伝票を作らなければならないことがあります。

私の場合は、手書きの振替伝票は使わずに Excel で作った振替伝票にPC上で仕訳を入力しています。

そして、振替伝票に入力した仕訳をマクロ(Excel VBA、UWSC)を使って、会計ソフトに自動で取り込む仕組みを作ってあります。

*なお、今日これから紹介する振替伝票と同様に、マクロ(Excel VBA + UWSC)を使った業務効率化事例として「Excel 保険料控除申告書に入力したデータを自動で JDL の年末調整システムに取り込む仕組み」を記事にしておりますのでよろしければどうぞ↓

スポンサーリンク

1、同じ入力を2回する必要は無い

さて、従来の手書きの振替伝票を使う場合、まず手書きに手間がかかります。。

しかも、一度手書きで振替伝票を作った後、それを会計ソフトに入力しなくてはなりません。

・手書きで振替伝票に仕訳を書く
・会計ソフトに同じ仕訳を入力する

というように、同じ入力を2回やらなければならず、時間がかかります。

また、同じ仕訳を違うところに2回入力するとミスをする可能性も出てきます。

冒頭でも言ったように、振替伝票は書かずに最初から会計ソフトに入力した方が時間の短縮になります。

ただ、慣習上どうしても振替伝票を作らなければならないケースにおいては自分の場合、次のようにしています。

・手書きではなく Excel で作った振替伝票に仕訳を入力
・マクロ(Excel VBA、UWSC)を使ってボタンのクリック1つで会計ソフトに全自動で仕訳を取り込み

こうすることで入力の回数は1回で済み、手間が省けるとともにミスの発生も防げます。

仕訳を会計ソフトに取り込んだ後、Excel の振替伝票をプリントアウトして保管するようにしています。

2、UWSC とは

Excel VBA と比べて、UWSC は聞き慣れないと思います。

UWSC というのは、umiumi さんという方が開発された Windows の作業を自動化するソフトです。

・アプリを起動する
・Windows 画面上の特定の画像をクリックする

などの操作を、プログラミングすることによって自動化することができます。

UWSC はこちらのサイトからダウンロードすることができます。

※有料版と無料版がありますが、今回の記事の中で紹介する内容あれば無料版で問題なく行えます。

会計ソフトと Excel は全く別のソフトであり、両者を連動させる機能は付いていません。

両者間のデータの移動には操作が必要(csv データ化)ですが、その操作には一定の手順があり面倒なので、Excel VBA と UWSC を使ってそれを自動化しているということです。

具体的には、大まかに

・Excel 上の操作を VBAに で作ったマクロよって行わせており
・会計ソフトの操作を UWSC で作ったマクロによって行わせています。

Excel 画面上で VBA で作られたマクロを実行して、そのマクロの中で UWSC で作られたマクロを実行させることができます。

また、逆に UWSC で作られたマクロの中で Excel VBA で作られたマクロを実行させることもできます。

このように、Excel VBA と UWSC を連携させて、全く別物である Excel と会計ソフトを繋ぐ操作を自動化できるのです。

なお、UWSC についてはこちらの本が参考になります↓

3、自作した Excel の振替伝票の仕組み

私が自作した Excel の振替伝票が、どのような仕組みになっているか説明したいと思います。

会計ソフトからの会社コード、決算年月日、科目コード(科目名)の読み込み

まず、顧客の情報を会計ソフトから Excel シートに取り込みます。

会計ソフトは JDL を使っています。

JDL の「会計データ入力」で該当する会社の仕訳画面から、Excel シートに

・会社コード
・決算年月日
・科目コード(科目名)

を読み込みます。

JDL の仕訳画面です↓

Excel の「設定画面」というシートの中に、会社コードを入力すれば会社名を VLOOKUP 関数によって呼び出せるようにしてあります。また、決算年と月を入力する箇所があり、月に応じた末日を呼び出せるように数式を埋め込んであります。

科目コード(科目名)は、「科目一覧」シートの中に読み込みます。

さて、これらの情報(会社コード、決算年月日、科目コード)は会計ソフトから csv 形式でエクスポートしたファイルを開いて、Excel のシートにコピペする必要があります。

そのために、本来は

・会計ソフトの画面を操作して、csv ファイルとしてエクスポート
・エクスポートした csv ファイルを開いて必要な情報を Excel シートにコピペ

という PC 上の操作が必要です。

私は、この操作を Excel VBA と UWSC でプログラミングすることによって、Excel 画面上でボタンを押すだけで全自動で操作できるようにしています。

具体的には、PC 上で Excel ファイルの「設定画面」シートと、会計ソフトの該当する会社の仕訳画面を左右に開いた状態で、Excel 画面上のマクロを実行させるボタンをクリックします。

するとまず Excel VBA で作ったマクロ1が実行し、続けて次のことが行われます。

・マクロ1が、UWSC で作られたマクロ2を実行
・マクロ2が会計ソフトを操作して、科目のデータを csv 出力
・マクロ2が Excel VBA で作られたマクロ3を実行
・マクロ3が csv ファイルを開き、その中の科目データをコピーして、Excel ファイルの「科目一覧」シートに貼り付け

こうすることで、Excel ファイルの中に、該当する会社の情報を取り込むことができます。

会計ソフトと同じ仕訳の入力形式

さて、Excel で自作した振替伝票は、「仕訳入力箇所」と「プリントアウト箇所」を分けてあります。

シート1つにつき、振替伝票6枚を入れてあります。全体を表示させるとこんな感じです↓。

「仕訳入力箇所」は、JDL の仕訳入力と同じ順序で、仕訳を入力するように作ってあります。
(使うツールによって、入力のルールが違うのは嫌なので、普段使う JDL と合わせてあります。)

科目は会計ソフトと同じコード(番号)で入力する仕様です。入力した科目コードに該当する科目名の表示は、VIOOKUP 関数を使って先に取り込んだ科目コード(科目名)から検索することによって対応しています。

日付を入力した後は、借方科目、貸方科目、金額、摘要の順に入力していきます。

なお、仕訳を入力した結果、ちゃんと貸借がバランスしている場合には「〇」が表示され、貸借がバランスしない場合には「✖️」のアラート表示とともにずれる金額が分かるようになっています。

貸借がバランスしない場合には、会計ソフトへの取り込みもできないようにしてあります(Excel VBA をそのようにプログラミング)。

プリントアウト箇所

「仕訳入力箇所」で入力した内容は「プリントアウト箇所」に反映されるように数式を組み込んであります。

「プリントアウト箇所」は一応見栄えも考えて、市販の紙の振替伝票と同じ表示にしてあります。

印刷範囲はあらかじめ、「プリントアウト箇所」に設定してあるので、プリントアウトの際には「プリントアウト箇所」を出力できます。

印刷プレビュー画面はこんな感じになります↓。

伝票の追加

振替伝票は「サンプル」シートにベースがあります。

「サンプル」シートの中には、8行入力可能な振替伝票が6枚入っています。

新たに振替伝票を追加するときは、設定画面か各振替伝票シートの中にある「追加ボタン」をクリックすれば「サンプル」シートを複製するマクロが実行します。

振替伝票シートを追加するときに、数字の番号を聞くメッセージが出るので、入力することになります。

例えば入力した番号が2であれば追加したシート名は「振替伝票2」となります。
「振替伝票1」、「振替伝票2」、「振替伝票3」という様に順番に名前を付けています。

伝票への入力をクリアする

伝票に入力した内容を消したいときには、各伝票の上にある「クリア」ボタンを押せば、その伝票の入力内容を消すマクロが実行します。

また、シートの一番上にある「一括クリア」ボタンを押せば、そのシートのすべての振替伝票の入力内容を消すマクロが実行します。

3、マクロ機能(Excel VBA、 UWSC)を使って会計ソフトに仕訳データを自動入力する仕組み

さて、振替伝票に入力した仕訳を会計ソフトに取り込むときにもマクロを使います。

振替伝票を紙にプリントアウトして、それを見て会計ソフトに入力ということはしません。

同じ入力を2回やるのは嫌なので。。。

会計ソフトへの仕訳取り込み

振替伝票に入力した仕訳を会計ソフトに取り込むためには、データを会計ソフトに取り込めるように並び替えて csv ファイルに変換しなければなりません。

その後、会計ソフトを操作してその csv ファイルを読み込まなければなりません。

これも、Excel 画面と会計ソフトの仕訳画面を両方開いて並べた状態で、Excel シート上のボタンを押せば、全自動でできるようにしてあります。

まず Excel VBA で作ったマクロ4を実行すると、続けて次のことが行われます。

・マクロ4が仕訳データを並び替えて csv ファイルに出力
・マクロ4がUWSC で作られたマクロ5を実行
・マクロ5が会計ソフトを操作して、csv ファイルを取り込み

実際に振替伝票に入力した仕訳を、会計ソフトに取り込む動画はこちらになります↓。

2つの振替伝票を続けて会計ソフトに取り込んで行きます。画面録画ソフトで録画しながらの実行なので、処理が遅くなってしまっています。。。本当はもっと早いです。

4、まとめ

日々の業務の中には制約があり、理想通りにできないこともあります。

今回の振替伝票の件は、正にそうです。
会計ソフトに仕訳を直接入力すれば振替伝票は不要なのですが、事情により作らなければならないケースもあります。

ただ、その中でも工夫を凝らすことによって業務を効率化することは可能です。

「アイデアを考えて、そのアイデアをマクロを作って実行」することができれば、かなりの時間の短縮を実現することも不可能ではありません。

今日紹介した振替伝票と同様に、マクロ(Excel VBA + UWSC)を使った業務効率化事例として「Excel 保険料控除申告書に入力したデータを自動で JDL の年末調整システムに取り込む仕組み」を記事にしておりますのでよろしければこちらもどうぞ↓