以前、日付は月と日は分けない方が、簡単に会計ソフトのフォーマットに
変換できると書きましたが、では月と日が分かれてしまっている場合どうする
のか?
この場合もExcelVBAで一発で変換できます。
コードを記述すると次の通りです。
クエリの設定①
担当者の一覧は作りましたが、小口経費の担当者CDを見て、担当者の一覧
から誰が何番なのか確認するのでは、少し大変です。
では、小口経費で入力した担当者CDの担当者名を日付の横に表示させます。
ここで使うのがクエリです。
一番基本的なクエリの設定を解説します。
マクロの登録
テーブルの設定②
テーブルの設定①
Accessの起動
著書では、Accessの基本的な操作までは解説していないので、基本中の基本から解説します。
書籍の内容で本に書ききれなかったことについては、このサイトで触れますが、
本に書かれている内容については著作権の関係上、表示することができないのでご了承下さい。
最初にAccessの起動です。
ACCESSを開くと次の画面が表示されます(Access2013)。
ここで、空のデスクトップデータベースをクリック。
ファイル名を変更し、①その横のデータベースの保存先をクリック。
②作成するデータベースの保存する場所とファイルの種類を変更し、OKをクリック。
そして③作成をクリックします。
ここからAccessのテーブルの設定を行います。
小口経費精算表はAccessで
「著書 経理業務のためのAccess実践講座」で、最初のサンプルとして小口現金精算表を作ります。
小口経費精算表はどちらかと言えば、Excelで十分では?と思うかもしれません
が、絶対にAccessで作った方が後々の運用が楽になります。
それは、精算表は枚数がどんどん増えるので、仮に100枚になった場合、シートもしくは
ファイルが100あることになります。
Accessで運用した場合は一つのファイルに全てのデータが格納されます。
この違いが分かりますか?
まずExcelの場合、ファイルの管理が大変です。
そして、もう古いものは見ないということであると、もうそのファイルのデータは
生かすことができません。
Accessではファイルの管理はほぼ不要です。
そして経理では小口経費精算表を会計ソフトに入力します。Excelの場合折角作った
のに、それを一度紙に打ち出したデータを基に入力する場合、この時点で二度手間が
発生します。
では、Accessの場合はというと、Accessのデータをそのまま仕訳に変換して会計ソフト
にインポートします。インポートの概要は今まで解説してきた通りです。
Excelでもできますが、Excelの場合はシートやファイルに散在
しているデータをまとめる作業が必要なので、Accessほど効率よくできません。
是非小口経費精算表は簡単に導入できるので、まず手始めにAccessで始めてみては
いかがでしょうか。
行数の調整
シート間のデータのやりとりについて追加したプログラムです。
Dim a As Integer
a = 3
Worksheets(“元のデータ”).Activate
Do Until Cells(a, 1).Value = “”
Worksheets(“インポート”).Cells(a – 1, 1).Value = Cells(a, 1).Value
Worksheets(“インポート”).Cells(a – 1, 5).Value = Cells(a, 2).Value
If Cells(a, 4).Value = “” Then
Worksheets(“インポート”).Cells(a – 1, 2).Value = 101
Worksheets(“インポート”).Cells(a – 1, 3).Value = 999
Worksheets(“インポート”).Cells(a – 1, 4).Value = Cells(a, 3).Value
Else
Worksheets(“インポート”).Cells(a – 1, 3).Value = 101
Worksheets(“インポート”).Cells(a – 1, 2).Value = 999
Worksheets(“インポート”).Cells(a – 1, 4).Value = Cells(a, 4).Value
End If
If Cells(a, 2).Value Like “*印紙*” Then
Worksheets(“インポート”).Cells(a – 1, 2).Value = 726
End If
If Cells(a, 2).Value Like “*切手*” Then
Worksheets(“インポート”).Cells(a – 1, 2).Value = 724
End If
If Cells(a, 2).Value Like “*引出し*” Then
Worksheets(“インポート”).Cells(a – 1, 3).Value = 121
End If
a = a + 1
Loop
End Sub
①シート名「インポート」を参照しているときは、Cells(a-1,1)
②シート名「元のデータ」を参照しているときは、Cells(a,1) となっています。
これはシート名「インポート」では、3行目からデータがスタートしていますが、
シート名「元のデータ」では2行目からデータがスタートしています。
このずれを調整するためにシート名「インポート」ではa-1としています。
Worksheets(“インポート”).Cells(a – 1, 1).Value = Cells(a, 1).Value
a=3のとき
Worksheets(“インポート”).Cells(a – 1, 1).Value →A2
Cells(a, 1).Value →A3
・・・
a=12のとき
Worksheets(“インポート”).Cells(a – 1, 1).Value →A11
Cells(a, 1).Value →A12
このようにシートによってどの行からスタートさせるのか違う場合は変数に対して
引き算で調整します。
Accessは魔法のソフトです。
今まで作ってきたAccessデータベースは、
販売管理システム
工事原価管理システム
給与計算データベース
事務所の顧客管理データベース
手形管理データベース
中古車販売業の庫車管理データベース
その他にもお客様の要望に応じたシステムを作ってきました。
Accessのいいところは、何でも作れるということです。そして
高度なデータベースの知識がなくてもできるということです。
ちなみに私はどこかでAccessの勉強をしたわけではなく、独学で
身に付けてきました。そんな私でも今では思い通りのデータベース
が自由に作れるということは、やはりAccessというソフトのすごい
ところだと思います。
と言っても当然いきなり作れるようにはなりません。
一からテーブルの作成方法、クエリの設定、フォームとレポートの作成、
更にはAccessVBAまで一通りこなす必要があります。
しかし使えるようになると、大変便利です。
そしてその知識を必要としている中小企業はごまんとあります。
是非このサイトを通じて一人でも多くの会計人がデータベースの
必要性と作り方を理解し、日本の中小企業を元気にするためにご尽力頂ければ
幸いです。
微力ながらそのお手伝いをさせて頂きたいと思います。
シート間のデータのやり取り
今までは同じシート間でのデータのやり取りでしたが、同じシート同士よりも
出納帳のデータとインポートするデータは、別のシートの方が管理しやすいです。
続きを読む