ネットバンキングのデータを仕訳に変換する方法9~会計ソフトの形式に変更

前回、入金取引か出金取引かの判別をしました。

今までの処理で会計ソフトにインポートするのに必要な情報のうち、
日付、預金科目の貸借どちらか、金額、摘要です。(金額と摘要は移すだけです。)

ここまでのVBAの処理をまとめてみます。
続きを読む

ネットバンキングのデータを仕訳に変換する方法⑧~入金取引と出金取引の判別

日付の処理の次は、入金取引と出金取引の区別です。

以前現金出納帳のときは、IF関数の使い方で解説しましたが、今回は金額だけでなく
テキスト文字もごちゃ混ぜで、しかも入金にも出金にもデータが入っていて、これでは
IF関数だけでは区別することができません。
1307301
続きを読む

Accessで作る現金出納帳⑤~フォームの作成1

前回作ったクエリ「残高」を基に現金出納帳フォームを作ります。

①作成タブのフォームウィザードをクリックし、
②テーブル/クエリで、「残高」を選択
③選択するフィールドを図のように選択します。
2507291
IDはオートナンバー、入金合計、出金合計、表示順は残高を計算するために必要なので
フォームとして表示する必要はないので選択しません。
続きを読む

Accessで作る現金出納帳④~クエリの設定

Accessで現金出納帳を作るクエリを作成します。

クエリの設定画面です。このクエリを「残高」として保存して下さい。
1307293

入金合計: DSum(“入金”,”残高”,”表示順<='"_&_[表示順]_&_"'") 出金合計: DSum("出金","残高","表示順<='"_&_[表示順]_&_"'") 表示順: [日付]_&_Format([ID],"0000") 残高: Nz([入金合計])-Nz([出金合計]) (注 アンダーバーは半角スペース) 実行画面です。 1307294

残りの、店名と摘要はフォームから入れるようにしていきます。

ネットバンキングのデータを仕訳に変換する方法⑦~日付の返還方法まとめ

前回は日付の書式が全て統一されていたので、同じ処理を繰り返せばいいのですが、
今回は、一部は日付形式になっているが、なっていないものと混ざっている場合の処理です。
1307291

VBAコードは次の通りです。

Sub 日付変換()
Dim a As Integer
a = 2
Do Until Cells(a, 1).Value = “”
If Right(Cells(a, 1).Value, 1) = “メ” Then
Cells(a, 2).Value = Left(Cells(a, 1).Value, 4) & “/” & Mid(Cells(a, 1).Value, 6, 2) & “/” & Mid(Cells(a, 1).Value, 9, 2)
Else
Cells(a, 2).Value = Cells(a, 1)
End If
a = a + 1
Loop
End Sub

ネットバンキングのデータは、機械がはき出すので、必ず何らかの規則性が存在します。
今回は、日付形式とテキスト形式の違いは、セルの一番右端の値が、”メ”かどうかです。

ですので、VBAコードでは、
If Right(Cells(a, 1).Value, 1) = “メ” Then
テキスト文字の処理
Else
日付の形式の処理
EndIf
としています。

実行後の画面です。
1307292

2パターンの処理を解説しましたが、ネットバンキングからはきだした形式が日付形式であればそのまま
使えますが、そうでない場合の方が恐らく多いと思います。
そのときは、面倒ですが、セルを分解してくっつけるというやり方で日付形式に変更します。

一度VBAで変換する仕組みを作ってしまえば、次からは実行するだけで日付形式に変換できます。

Accessで作る現金出納帳③~摘要フィールドが摘要テーブルと明細テーブルにある理由

Accessで現金出納帳を作るとき、作成するクエリは
Accessでつくる現金出納帳で作った残高を計算するクエリだけです。

今までクエリの説明をしたときに、商品名は商品テーブルから引っ張って
きて明細テーブルには商品コードだけ配置して、それ以外の情報は
クエリに繋げる処理をしてきました。
続きを読む

Accessでつくる現金出納帳①

以前、Accessでつくる現金出納帳ということで主に残高の計算(Dsum関数の使い方)
を解説しましたが、次はより実践的な出納帳を作っていきます。

テーブルを4つ用意します。
①明細
②科目
③摘要
④店名

フィールドの設定は次の通りです。
①明細
1307271
②科目
1307272
③店名
1307273
④摘要
1307274

摘要を基に科目の判断をつけたいので、摘要を登録するときに
一緒に科目も登録するようにします。

この場合コンボボックスから科目テーブルに登録されている科目名を
ドロップダウン形式で選択できるようにします。

摘要テーブルの科目名を選択し、フィールドプロパティのルックアップタブをクリック。
ここで次のように設定して下さい。
1307275
これで摘要テーブルの科目テーブルの科目名から選択できるようになりました。
科目テーブルに科目を追加していくと、摘要テーブルで選択できる科目名も自動で増えます。

運用例です。
1307276

テーブルの設定は以上です。

Accessの現金出納帳のダウンロード

ネットバンキングのデータを仕訳に変換する方法⑤~日付の変更まとめ

今まで一つずつ抜き出して、セルに値を入れてきましたが、これをVBAで一発で日付
に変換します。

Sub 日付変換()
Cells(1, 5).Value = Left(Cells(1, 1).Value, 4) & “/” & Mid(Cells(1, 1).Value, 6, 2) & “/” & Mid(Cells(1, 1).Value, 9, 2)
Cells(3, 5).Value = Mid(Cells(3, 1).Value, 2, 2) + 1988 & “/” & Mid(Cells(3, 1).Value, 5, 2) & “/” & Right(Cells(3, 1).Value, 2)
End Sub

ちなみに、
Cells(1,1)はA1
Cells(3,1)はC1です。

このコードを実行すると、一見日付形式に変更できなさそうなものでも、変換できます。

2507263

ネットバンキングのデータをまとめて変換するときは、現金出納帳のときと同様に変数を使って
全ての行を一気に直していきます。

日付の変更の仕方は、まず年・月・日にセルを分解して、
_&_”/”_&_ (_は半角スペース)で繋ぎ直すと覚えて下さい。