ネットバンキングのデータを仕訳に変換する方法⑦~日付の返還方法まとめ

Pocket

前回は日付の書式が全て統一されていたので、同じ処理を繰り返せばいいのですが、
今回は、一部は日付形式になっているが、なっていないものと混ざっている場合の処理です。
1307291

VBAコードは次の通りです。

Sub 日付変換()
Dim a As Integer
a = 2
Do Until Cells(a, 1).Value = “”
If Right(Cells(a, 1).Value, 1) = “メ” Then
Cells(a, 2).Value = Left(Cells(a, 1).Value, 4) & “/” & Mid(Cells(a, 1).Value, 6, 2) & “/” & Mid(Cells(a, 1).Value, 9, 2)
Else
Cells(a, 2).Value = Cells(a, 1)
End If
a = a + 1
Loop
End Sub

ネットバンキングのデータは、機械がはき出すので、必ず何らかの規則性が存在します。
今回は、日付形式とテキスト形式の違いは、セルの一番右端の値が、”メ”かどうかです。

ですので、VBAコードでは、
If Right(Cells(a, 1).Value, 1) = “メ” Then
テキスト文字の処理
Else
日付の形式の処理
EndIf
としています。

実行後の画面です。
1307292

2パターンの処理を解説しましたが、ネットバンキングからはきだした形式が日付形式であればそのまま
使えますが、そうでない場合の方が恐らく多いと思います。
そのときは、面倒ですが、セルを分解してくっつけるというやり方で日付形式に変更します。

一度VBAで変換する仕組みを作ってしまえば、次からは実行するだけで日付形式に変換できます。