日付の欄に空白がある場合の処理

以前、日付は月と日は分けない方が、簡単に会計ソフトのフォーマットに
変換できると書きましたが、では月と日が分かれてしまっている場合どうする
のか?
2506291
この場合もExcelVBAで一発で変換できます。
コードを記述すると次の通りです。

続きを読む

クエリの設定①

担当者の一覧は作りましたが、小口経費の担当者CDを見て、担当者の一覧
から誰が何番なのか確認するのでは、少し大変です。

では、小口経費で入力した担当者CDの担当者名を日付の横に表示させます。

ここで使うのがクエリです。

一番基本的なクエリの設定を解説します。

続きを読む

マクロの登録

Excelのシートにコマンドボタンを配置して、コマンドボタンをクリックすることで
マクロを実行できるようにします。

挿入タブ→図形→額縁をクリックします。
2506281

コマンドボタンを作りたい場所でクリックし、サイズはドラッグしながら調整して下さい。
2506282
これでコマンドボタンの配置が完了しました。

次にマクロを登録します。
配置したコマンドボタンの上で、右クリックを押して、マクロの登録をクリックします。
2506283

ここで登録したいマクロを選択し、OKをクリック。
2506284
これでマクロの登録も完了しました。これでコマンドボタンを押すことで、マクロが実行できるようになりました。

Accessの起動

著書では、Accessの基本的な操作までは解説していないので、基本中の基本から解説します。
書籍の内容で本に書ききれなかったことについては、このサイトで触れますが、
本に書かれている内容については著作権の関係上、表示することができないのでご了承下さい。

最初にAccessの起動です。
ACCESSを開くと次の画面が表示されます(Access2013)。
2506272
ここで、空のデスクトップデータベースをクリック。

ファイル名を変更し、①その横のデータベースの保存先をクリック。
2506276

②作成するデータベースの保存する場所とファイルの種類を変更し、OKをクリック。

そして③作成をクリックします。

Accessが起動し、テーブルを作成する画面になります。
2506274

ここから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) となっています。
2506271
これはシート名「インポート」では、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まで一通りこなす必要があります。

しかし使えるようになると、大変便利です。
そしてその知識を必要としている中小企業はごまんとあります。

是非このサイトを通じて一人でも多くの会計人がデータベースの
必要性と作り方を理解し、日本の中小企業を元気にするためにご尽力頂ければ
幸いです。

微力ながらそのお手伝いをさせて頂きたいと思います。