確定申告医療費控除!マイナンバーカードを作ってもクソにも役に立たなかった!結局エクセルのマクロで対応!金を掛けるならもっと使えるものにしてほしいぞ!

050-VBA

超ド底辺地方公務員の管理人です。

公務員ですが、マイナンバーカードは大嫌いです。

ちなみにマイナバー制度自体は悪くないと思っています。

ただ、コストの掛かるカードは不要かと・・・

カードが無くても、IDとPASSと生態認証でカードがなくても十分です。

マイナンバーカードは確定申告の医療費控除では役に立たなかった

さて、せっかくマイナンバーカードを作ったので・・・

確定申告の医療費控除をやってみようかと思ったのですが・・・

上手くいきませんでした。

管理人のやり方が悪いのかもしれませんが、とてもユーザーフレンドリーではありません。

クソでした。

しかも令和5年1月10日時点で、昨年の10月分までしか、データが取り込めませんので・・・

結局11月~12月分は、手入力が必要です。

結局全然スマートじゃないんですよね。

マイナポータルから医療費情報をダウンロードしても使えなかった

ということで・・・

従来通り、国税庁のエクセル様式に入力して確定申告することにしました。

国税庁の医療費集計フォーム(エクセル)はこちらのHPから

ただ、マイナンバーカードがあればマイナポータルから、10月分までの医療費情報がダウンロードできるので、それを使ってコピペしようとしたのですが・・・

これまた、フォーマットが全然ことなる形式なので、そのままコピーできない・・・

全くのクソです。

国のクソ役人どもは、こういう事は考えないのでしょうかね?

普通の人間の感覚であれば・・・

マイナポータルからダウンロードした医療費情報(CSV)をそのままe-taxで添付できるとか・・・

コピペして使えるとか考えそうなのですが・・・

そのどちらもできません。

クソすぎます。

スポンサーリンク

CSVデータを医療費集計フォームに貼り付けるには結局マクロでデータを整形する必要がある

結局ですが・・・

マイナポータルからダウンロードした医療費情報(CSV)を国税庁の医療費集計フォーム(エクセル)に貼り付けるには、データをマクロで整形する必要があります。

マクロを作るくらいだったら・・・

領収書を見ながら手で入力した方が早い説もあるのですが・・・

管理人だけでも、年30回ほど病院に行っていますし・・・

家族の分も含めると、相当な行数になるので、諦めてマクロを組むことにしました。

ただし、マクロを組んだとしても・・・

10月分までの医療費情報しかないので、11月~12月分は結局手入力する必要があります。

マクロのコードは次のとおりです。

マクロを空で記録して、Visual Basic Editorで必要な部分を貼り付けてください。

Attribute VB_Name = "Module1"
Sub Macro1()
'
' Macro1 Macro
'

'*************ここから*********
'
'CSVをマイナポータルからダウンロード
'CSVの読み込みはUTF-8
'最初の診療年月までの行は消す
'マクロ実行後に確定申告のエクセルに貼り付ける。
'確定申告時には前年の10までしかダウンロードできない為、2か月分は手で追加する


Cells(1, 1).Select

'名前を取得
Dim myname As String
myname = Cells(9, 2)


'最初の診療年月の行を取得
Dim cntrow As Long
Dim firstrow As Long

cntrow = 1

Do
    If Cells(cntrow, 1) = "診療年月" Then
        firstrow = cntrow
        Exit Do
    Else
        cntrow = cntrow + 1
    End If
Loop


'E1セルからカラムを設定
    Cells(1, 5) = "氏名"
    

Dim cntcolumn As Long
cntcolumn = 6

    If Cells(cntrow, 1) = "診療年月" Then
        
        Do While Cells(cntrow, 1) <> ""
            Cells(1, cntcolumn) = Cells(cntrow, 1)
            cntrow = cntrow + 1
            cntcolumn = cntcolumn + 1
            
                If Cells(cntrow, 1) = "診療年月" Then
                    Exit Do
                End If             
        Loop
    Else
        End If
        

'医療情報を行にコピー
Dim maxrow As Long
Dim startrow As Long
Dim copyrow As Long
Dim copycolumn As Long

maxrow = Cells(Rows.Count, 1).End(xlUp).Row
startrow = firstrow
copyrow = 1
copycolumn = 6


Do While startrow <= maxrow
    If Cells(startrow, 1) = "診療年月" Then
        copycolumn = 6
        copyrow = copyrow + 1
        Cells(copyrow, 5) = Cells(9, 2)
        Cells(copyrow, copycolumn) = Cells(startrow, 2)
            startrow = startrow + 1
    Else
        Cells(copyrow, copycolumn + 1) = Cells(startrow, 2)
            startrow = startrow + 1
            copycolumn = copycolumn + 1
    End If
Loop

'*************ここまで*********

End Sub
スポンサーリンク

マクロの動きについては、次の動画で確認できます。

ダウンロードしたCSVデータをマクロで整形した後に・・・

国税庁の医療費集計フォーマット(エクセル)に必要なデータを適宜貼り付けてください。

マイナポータルからダウンロードできる医療費情報(CSV)は何に使えるのか?

いったい、マイナポータルからダウンロードできる医療費情報(CSV)は何に使えるでしょうか?

管理人には使用方法が全く分かりません。

ブログランキングにご協力ください!
ブログランキング・にほんブログ村へ

分かる方がいたら教えてください。

あとこれといった使い道がないなら・・・

何故、国税庁と連携しないのでしょうか?

まったく意味不明です。

税金の無駄遣いですよね?

もしかしたら【e-taxとマイナポータルを連携】した際のXML形式のデータをCSVに変換しただけ???

なのかもしれませんが・・・

マイナンバー関連の情報連携は、基本的にはXMLデータを使っていると認識していますが・・・

XMLデータって視覚的に人には理解しにく構造なんですよね。

HTMLで表を作るには【tableタグ・trタグ・tdタグ】を使いますが・・・

票をHTMLのタグで見たところで・・・

視覚的には全く分かりません。

これと同じだと思うんですよね・・・

せめて、行と列にコンバートしてCSVにしてもらわないと・・・

分からんのですよ・・・

ここら辺がマイナポータルがポンコツたる所以だと個人的には思います。

ブログ開設に必要なドメイン取得、サーバーレンタル、ASPの登録等は、こちらのサイトから!

コメント

タイトルとURLをコピーしました