UiPath(RPA)でJDL財産評価ソフトに入力するための減価償却データを準備するマクロ

UiPath

UiPathを使うときには、Excelを準備しておくと便利です。

今回、やってみたのは、Excelデータから財産評価ソフトに減価償却資産を登録する事例で、UiPathで入力するために必要なデータをつくる部分です。

連携がないと転記や入力はそれなりに必要

会社が事業に使っている減価償却資産。

会社が持っている固定資産なので、相続財産にはなりません。

ところが会社の株を評価しようとすると、この減価償却資産は評価をする必要があります。

具体的には、純資産価額の計算をする場合、貸借対照表の資産や負債をもとに評価します。

スクリーンショット 2020 01 25 19 41 32

この表、よく見ると、資産の部、負債の部と分かれていて、貸借対照表によく似ています。

資産のうち財産価値のあるものを相続税評価します。

となると、減価償却資産も会社の資産になっていることが多く、相続税評価をする必要があるわけです。

減価償却資産を相続税で評価するときには、動産として評価することになっています。基本は売買実例に基づくというルールなのですが、それがわかることはほとんどなく、減価償却のような計算方法で計算するのが通常です。

スクリーンショット 2020 01 25 19 46 57

会社でやっている減価償却のように月割計算でなく、14年1ヶ月なら15年で計算しますし、定率法です。

そのため、貸借対照表の簿価よりも小さくなることも多いのです。

だからちゃんと計算したほうが、株価も下がります。

ところが固定資産といえば、それなりに数が多いこともあり、相続税評価額を帳簿価額と同額で評価しているのはよく目にするところです。

1つずつ入力するとなれば、かなり大変ですし、減価償却ソフトのCSVデータをダウンロードして,Excelから財産評価ソフトにコピぺするとしてもやっぱり大変です。

自動で連携するような仕組みになっていればいいのですが、現在使っているJ○Lなんちゃらは連携できません。

そこで今回やってみたのは次のような流れです。

  1. 減価償却資産のデータをExcelにコピー
  2. マクロでRPA(UiPath)での入力用のフォーマットを生成
  3. 財産評価ソフトにRPA(UiPath)で自動入力

最終的に②と③はUiPathにお願いする部分になります。で、今回触れるのは上の2つです。

結果、じぶんでやるのは、ダウンロードしたCSVファイルのデータをExcelファイルにコピぺするところだけです。

前回のデータが残っていた場合の対応策

今回の流れを進めるためのファイルを準備します。1つは減価償却データを貼り付けるシート「JDL減価」、もう1つはUiPathでの入力用のシート「動産」です。

スクリーンショット 2020 01 25 21 04 14

流れとしてはこんな感じです。

まず、減価償却ソフトからダウンロードしたCSVファイルを「JDL減価」というシートに貼り付けて、
スクリーンショット 2020 01 25 20 32 20

財産評価ソフトへの登録に必要なデータだけを「動産」というシートに転記します。

スクリーンショット 2020 01 25 21 01 26

これをExcelで関数を使ってやる手もあります。ただ、会社によってデータ数も違いますし、前のデータのほうが多かった場合に残ったままのデータの削除が必要になります。

そこでその手間をなくすためにマクロを使います。

マクロを使えば、一度、前のデータをクリアにしてから、新しいデータを書き出せますし、データ数の増減をそれほど気にしなくてもよくなります。

UiPathで入力ためのデータを集めるマクロ

マクロ、次のように書いてみました。
スクリーンショット 2020 01 25 22 07 08

書き方がなっちょらんというのはあるかと思いますが、その点は広い心でみていただければ。

うまくいけば、こういうようにUiPathでの入力に必要なデータが抽出できているはずです。

スクリーンショット 2020 01 25 21 01 26

順に解説します。

データをカウントする変数

まず、こちらでmax_rowとしているのは、それぞれのシートで一番下までのデータを数えるための変数です。
スクリーンショット 2020 01 25 22 08 24

前回のデータをクリア

次に前回使ったデータを「動産」シートから削除して、キレイな状態にしています。

スクリーンショット 2020 01 25 22 11 40

セルA2からE列の1番下のセルまでを範囲指定してということですね。

JDLデータの意味不明な空白をなくすTrim関数

次、名称のところにTrimというのがあリますが、これは空白をなくす関数です。スクリーンショット 2020 01 25 22 15 05

JDLの名称データに意味不明な空白データがあり、それを取り除いているという話です。UiPathでは空白も入力しようとしてしまうので。

スクリーンショット 2020 01 25 22 20 06

空白がなければ「Trim(…)」は不要です。

スクリーンショット 2020 01 25 22 22 30

取得年月日データから元号と年月のデータを抽出

JDLの場合、取得時期の入力は元号と年月を別々で入力をする仕様になっています。(んな、わざわざややこしくせんでも…)

スクリーンショット 2020 01 25 22 26 33

そのため、昭和63年10月1日なら「3」と「6310」というデータを日付データから準備しないといけません。

それで、令和元年5月1日というのは、数字でいうと「43586」です。それ以上なら令和をあらわす「5」にしてちょ、という書き方です。

あとは、平成と昭和も同様にという感じです。

年月はTEXT関数で対応したいところですが、なんでもマクロではTEXT関数が使えないんだとか。

それでこういう書き方にしました。”eemm”で年月です。

繰り返し処理

For〜Nextの間に入れることにより、繰り返し処理にしています。

あとは、これをUiPathで入力する流れなのですが、ここから書くのはちと大変なので、今日はこのくらいでUiPathはまた別記事で書こうかと。

一例ですが、マクロ参考にしていただければ。動画つくってみました。数秒ですが。


【編集後記】
昨日はこもって事務処理をいろいろと。長男(4)が今日幼稚園でやってきたことを教えてくれたのですが、親が参加できるイベントの内容だったらしくネタバレでした…。まぁそれでも楽しみですが。

【昨日の1日1新】
※「1日1新」→詳細はコチラ
とある問合せをオンラインチャットで