現金出納帳のデータを仕訳に変換する3~ExcelVBAを使う場合①基本的な考え方

Pocket

コピー貼り付けで仕訳に変換する方法もありますが、それでは業務の効率化に限界があります。
やはりExcelVBAで全自動で変換できる方法をご紹介します。
開発タブがない方はこちら
一番最初にVBEを起動します。
2606272

ここで、Sub 仕訳に変換()
と入力すると、End Sub は自動的に入ります。

ExcelVBAでプログラムを書く場合、まず最初に考えるのはどのシートを基準に考えるのか?です。
今回は取引入力のデータを加工するので、取引入力を基準とします。
2606275

次に繰り返し処理を何回行うのかです。
最初のスタートは6行目からデータがスタートしているので、スタートは6
2606273

今回の例ですと、121行データがあるので、6から121まで115回繰り返せばいいのですが、
これは毎月変動するので来月も115行という保証はどこにもありません。
2606271
ですのでこの場合は、Loop関数を使います。

Loop関数は条件を指定した場合、その条件を満たすまで繰返し処理を続けます。
ではいつまで続けるのか?
データを見たときに、科目名と日付は必ず各行入力されています。
ですので、科目名か日付のどちらかが空白になるまでという条件にします。
今回は日付のE列を基準にします。

ここまでをVBAコードで記述します。
2606274
繰返し処理をする場合、何回繰り返したのか、変数を使ってカウントするので、最初に変数aを宣言します。
変数にはいろいろな種類がありますが、dim 変数名 as Integer これ一つ覚えていれば十分です。

スタートは6列目なので、aに6を代入。
シート名「取引入力」を指定します。
Cells(a,5)→E列が空白になるまでというLoop関数を入力し、
Do until
→この間にコードを入力していきます。
Loop

ある程度基本を押さえておけば、どの形の出納帳が来てもどれもそんなに大きく違うわけではないので
応用が利くようになります。是非一つの型をマスターして下さい。

3月決算が終わり、5月の月次も追いついた途端、急に暇になりました。
不思議なものです。

本日も最後までお読みいただきありがとうございます。