|
▼やす さん:
>質問します。
>A列に形式が標準で
>20071001
>20071011
>・
>・
>と入力されているとします
>これを形式を日付にしたいのですがやりかたがわかりません
>教えて下さい
先月、友人に頼まれて、まさに同じ仕様のコードを作成しました。
-----
Option Explicit
'!!注意!!
'西暦4桁+月2桁+日付2桁 = 8桁の数字でないと、実行できません。
Sub Date_Style()
Dim myYEAR As Integer, myMONTH As Integer, myDAY As Integer
Dim myDATE As Date
Dim i As Long, A_Last As Long
A_Last = Range("A65536").End(xlUp).Row
For i = 1 To A_Last
With Cells(i, 1)
If IsNumeric(.Value) = True Then
If Len(.Value) = 8 Then
myYEAR = Left(.Value, 4)
myMONTH = Mid(.Value, 5, 2)
myDAY = Right(.Value, 2)
If myYEAR >= 1900 And 1 <= myMONTH And myMONTH <= 12 And 1 <= myDAY And myDAY <= 31 Then
myDATE = DateSerial(myYEAR, myMONTH, myDAY)
.Value = myDATE
'.NumberFormatLocal = "yyyy/mm/dd"
.NumberFormatLocal = "yyyymmdd"
End If
End If
End If
End With
Next i
End Sub
|
|