前回記事にした、インターネットバンキングのデータで日付が変わった際の残高に色をつけるマクロですが、弥生会計の現金や普通預金などの元帳データをCSV形式でエクスポートした時にも使えるなと思ったので記事にしてみます。
CSV形式で出力した弥生会計の元帳データの日付が変わった際の残高に色をつけるマクロ
弥生会計以外の会計ソフトの中には、元帳を確認する際の機能の一つに、日付が変わった際の残高「だけ」を表示するような機能があったりするんですが、弥生会計の場合にはではそのような機能はないようです。
(※2020年4月時点で弥生会計のサポートセンターにメールで問い合わせてみたんですが「そのような機能」はないと回答されたので、間違いないかと。。)
で、機能が無いなら何とか力技でやってみようということで、前回の記事を参考にして、CSV形式で出力しておいた弥生会計の元帳データについて、日付が変わった際の残高に色をつけるマクロを考えてみました。
使用するマクロは前回の記事で紹介したものとほぼ変わりませんので前回記事にした部分についての説明は省力しています。
↓のリンク先の記事を参考にしていただければと思います。
[kanren postid=”1060″]
まず弥生会計の元帳データを準備(エクスポート)します。
エクスポートのやり方ですが、弥生会計の元帳画面を開いた状態で
「ファイル(F)」
↓
「エクスポート(E)」
と進むと「エクスポートダイアログ」が開くので
「出力先」の拡張子を「csv」に変更したうえでデスクトップなどの適当な場所に保存します。
このやり方で保存した元帳データを確認するとこんな感じになっています。↓
ぱっと見た感じ、E列に日付のデータが記載されていますが、E10セルやE16セルやE17セルなど、一部空白のセルがあり、連続したデータになっていません。
前回記事にしたマクロは日付のデータが連続していることを前提として作っているため、上の画像のように空白のセルがあるとエラーになってしまい、このままのではマクロを使うことができません。
なのでマクロがうまく動くようにCSVデータを整えていく必要があります。
データを見渡してみると黄色のマーカーをつけている箇所、
「前期繰越行」・「月度合計行」・「累計行」
の行全体に邪魔なデータがあります。ということはこの不要な行全体を削除してやると、E列には連続して日付のデータが残るので前回のマクロが使えそうです。
で、これらの不要な行はE列の「日付」欄にはデータが入っていない(空白セル)なのでこの規則性を利用して不要な行を削除します。
削除方法としては、E列全体を選択しておいて、ctrlキー + 「G」を押して「セルの選択(S)」をクリック。
その後、「選択オプション」ダイアログから「空白セル(K)」を選択して「OK」をクリック↓
するとE列のうち空白セルのみが選択されるので、この状態でctrlキー + 「-」で削除ダイアログを表示して「行全体(R)」をクリックすると↓
「前期繰越行」・「月度合計行」・「累計行」などの不要な行全体が削除されて
こんな感じのデータに加工することができます。↓
ここまでくれば、前回作成したマクロが使えます。
といってもそっくりそのまま使うことはできないので前回同様、マクロを一部書き換えないと使えません。
なので、前回のマクロの下記の赤枠部分を書き換えていきます。
具体的にはまず、マクロ記述の赤枠部分の「const startrow=2」の「2」の部分を変えます。
日付のデータが記載されている行は2行目からなので「2」に変更します。
(というかそのままなので変更しないでOKですね。。)
次にマクロ記述の赤枠部分の「day=1」の「1」の部分を変えます。
日付のデータが記載されている列はE列(A列から数えて5番目)なので「5」に変更します。
最後にマクロ記述の赤枠部分の「zandaka=5」の「5」の部分を変えます。
残高のデータが記載されている列はAA列(A列から数えて27番目)なので「27」に変更します。
これでOKです。
変更したマクロを実行すると日付が変わった際の残高セルに色をつけることができると思います。
不要な行を削除する部分をマクロに組み込んでみた。
さきほどの、CSV形式で出力した弥生会計の元帳データから、
「前期繰越行」・「月度合計行」・「累計行」
などの不要な行全体を削除する作業も地味に面倒くさいので、この部分をマクロに追記してみました。
こんな感じになりました。↓
Sub 弥生会計の元帳で日付が変わる際の残高に色を付けるマクロ()
Const startrow = 2 '何行目のデータから日付のデータが始まっているかを入力する
Const day = 5 '日付データが入力されている列が何列目かを入力する
Const zandaka = 27 '残高データが入力されている列が何列目かを入力する
On Error GoTo yayoi '「繰越行」や「集計行」等の不要な行の削除をする。
Columns("E:E").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
yayoi:
Dim i As Long '変数宣言
Dim lastrow As Long
lastrow = Cells(Rows.Count, 1).End(xlUp).Row '最終行の取得
For i = startrow To lastrow '[startrow]で指定した行から最終行まで判定をしていく。
If Cells(i, day).Value <> Cells(i + 1, day).Value Then '日付が変わった場合に処理を実行する。
Cells(i, zandaka).Interior.ColorIndex = 6 '日付が変わる際の銀行残高のセルを黄色にする。
End If
Next i
End Sub
追記したのは下記の赤枠の部分の3行だけです。↓
E列に空白のセルがある場合には、その空白セルがある「行全体」を削除するようになっています。
もしE列に空白セルが無い場合には削除は行われません。
まとめ
CSV形式で出力した弥生会計の元帳データについて、日付が変わった際の残高に色をつけるマクロを考えてみました。
結果的に前回の記事のマクロに少しの記述を足すだけでできますので難しくはないかと思います。(そもそも自分が難しいマクロが書けない。)
こんなことしなくても弥生会計の元帳を確認する画面上でこういった設定ができればいいんですが、本記事作成時点ではできませんので、こういった形で対応していただければと思います。
【本日の近況報告】
先日、開業している税理士の方たちと最近オンライン呑み会を実施。
業務のやりかたなどについて意見交換ができて参考になりました。
オンライン呑み会はどうやって終わるかのタイミングが難しいですね。
【本日の一曲】
Fountains of Wayne /Stacy’s Mom
Fountains of Wayneといえばコレ!ってくらいヒットした一曲(当社調べ)
他にもいい曲はたくさんありますが、この曲が一番聴いた気がします。
初めて聴いたのはたしか大学生の時に東京に遊びに行って、友人と一緒にいった新宿、花園神社の近くにあるクラブでのDJイベントだったはずなのでもう15年以上前になるのか。
その後、ヤフオクでこの曲が入った7インチレコード買ったんですが、レコードが少し反ってて(しかもこの曲が入っているA面が側に。)その反りを直すために反ってるほうとは反対側に曲げてたら真っ二つに割れてしまって、泣く泣くもう一枚買う羽目になったのは今でも鮮明に覚えています。
確か1枚2500円くらいしたはずなので、この一曲聴くために正味5000円の出費をしているはず。。。
今でこそYouTubeとかSpotifyとかでタダで擦り切れるほど聴けますが(擦り切れませんが)
当時(もうYouTubeはあったけど)はこのレコードを良く聴いてました。
これからも聴き続けます。