Option Explicit
Sub 日付フォーマット()
Dim StartLine As Integer
Dim StartCol As Integer
Dim Str As String
Dim i As Integer
Dim Strarry() As String
StartLine = 3
StartCol = 2
i = 0
Do While True
Str = Worksheets("Sheet1").Cells(StartLine + i, StartCol)
If Len(Str) = 0 Then
Exit Do
End If
Strarry() = Split(Str, "/")
If Not Len(Strarry(1)) >= 3 Then
Strarry(1) = " " & Strarry(1)
End If
If Not Len(Strarry(2)) >= 3 Then
Strarry(2) = " " & Strarry(2)
End If
Cells(StartLine + i, StartCol + 1) = Strarry(0) & "/" & Strarry(1) & "/" & Strarry(2)
i = i + 1
Loop
End Sub
=============================================
基本は前と同じですが、ループを無限ループに変更して、Strへの代入してから終了の判断を
するように変更しただけです。
前は=SUBSTITUTE(TEXTを組み込んだカラムは要らないように感じてましたが、年の判断が
必要になるので、そのまま使った方が楽です。2015はH27の変換のことですね。
後微妙に桁がずれるのは、やはりフォントの種類によりますので、MS明朝でP無しのフォントに
変えれば、ぴったし合うようです。
たしかC言語とかだと
if (a = b) > 0 then
と書いて、bをaに代入した結果が0より大きいときはと、書けるように思ってました。VBAではエラー
にはならないんですが、代入が行われませんでした。(-_-;)
thenと言う句はCやC++には無くて、{}で括ったブロックが来ます。elseはでも有ります。