続いてのプログラミングネタ。

ゆうちょ銀行のネットバンクCSVデータ抽出です。

これもJNB同様、日付が日付シリアルとして抽出できません。

8桁の文字列です、20190301。

これを2019/3/1というシリアル値に変更します。

カーソルを文字列にあわせ、以下のコードを実行します。

メインの変更マクロは拝借しました。

Sub 八桁日付をシリアル値に変更()

Dim i As Long

For i = 1 To 300

If ActiveCell.Value = "" Then

Exit Sub

Else

  Dim org As String
  Dim buf As String

  With ActiveCell
    org = .Value
    If Len(org) = 8 Then
      buf = _
        Mid(org, 1, 4) & "/" & _
        Mid(org, 5, 2) & "/" & _
        Mid(org, 7, 2)
      If IsDate(buf) = True Then
        .Value = buf
        .NumberFormatLocal = "yyyy/m/d"
      End If  ' IsDate
    End If  ' Len = 8
  End With  ' ActiveCell

End If

ActiveCell.Offset(1, 0).Activate

Next

End Sub


これを実行したら、文字列を自動的に日付シリアル値へと変更可能です。300行まで。

For i = 1 To 300

の300を500に変更したら、500行へと拡張します。

これも使えるマクロですので、是非活用してください^^