私の事務所のホームページで公開している「弥生会計変換対応現金出納帳」ですが、会計事務所の方より自社の業務に使いたいとのご感想をいただきました。ありがとうございますm(_ _)m
このエクセルファイルを作成したきっかけは、とある税理士さんが顧問先がエクセルで作成している現金出納帳を会計ソフトに手で打ち直しているという、仰天な二度手間話を聞いたことでした(^^;。
当初は入力したデータを弥生会計に取り込める形式に自動変換する機能だけを備えていたのですが、使っていただいて入力自体ももっと効率的にしたいという要望をいただき、以下の2点もある程度Excelに自動で入力補助をさせるようにしています。
1、リスト入力の際に、左のセルの内容によってリストアップの範囲を変える
摘要は手入力の他、入力規則でリスト入力をするようになっているのですが、全てのリストを表示させると選択が面倒なので、左の得意先名に対応した摘要を表示させるようにしています。
こういった場合、入力規則の条件設定で、「元の値」にOFFSET関数を使った数式を入れると対応できます。
以下のような数式を入力すると
=OFFSET(取引先テーブル!$C$9,MATCH($C31,取引先テーブル!$B:$B,0)-9,0,5,1)
以下のように「今津文具店」に対応する摘要「事務用品」が常に一番目に表示されます。
OFFSET関数はちょっと考え方がややこしいですが、MATCH関数を組み合わせることによって、入力規則の中でVlookup関数のような働きをさせることができます。
2、取引先と摘要の内容で、勘定科目と補助科目を登録したリストから自動入力する
もう一つは、イベントプロシージャを使い、取引先と摘要を入力した際に、対応する勘定科目と補助科目を登録しておくと、それらが自動で入力されるようにしています。
Private Sub Worksheet_Change(ByVal Target As Range)
'変数宣言
Dim Searchkey As Variant
Dim Kamoku As Variant
Dim Hojokamoku As Variant
Dim c As Range
Dim e As Long
'D列が変更されると、F列とG列に科目を入力する。
If Intersect(Target, Range("C:D")) Is Nothing Then
Exit Sub
Else
Set c = Selection
e = c.Row
Searchkey = Cells(e, 5)
Kamoku = Application.VLookup(Searchkey, Worksheets("取引先テーブル").Range("D:E"), 2, False)
If IsError(Kamoku) Then
Kamoku = ""
End If
Hojokamoku = Application.VLookup(Searchkey, Worksheets("取引先テーブル").Range("D:F"), 3, False)
If IsError(Hojokamoku) Then
Hojokamoku = ""
End If
With Selection
Cells(e, 6).Value = Kamoku
Cells(e, 7).Value = Hojokamoku
End With
End If
End Sub
「Vlookup関数で自動で引っ張ってきたいけど、ケースによっては上書きしたい」といった場合には、こういう方法も有効です。
エクセルファイルを使っていると、ここがこうなればもっと入力が楽になるのにという場面があると思います。
自分が普段使っているエクセルファイルの効率化はイメージしやすいですので、このファイルのように、ちょっとマクロなどを書き足して小さな作業を自動化していくのも、マクロをマスターするいい方法かもしれませんね(*^^*)。
✳︎水曜は、午前中は神戸のお客様で決算説明の後、京都まで。
決算説明の際に「小林さんに代わってから、会社の数字が見えるようになりました」と言っていただけたのですが、こういった感想をいただくと、やっぱり嬉しく励みになりますね(^ ^)。