این تابع مشابه تابع قبلیه با این فرق که بجای سال و ماه و روز تاریخ ورودی باید مطابق با فرمت تاریخ اکسل باشه
کد:
Function DATEtoALFA2(Datetext, Dformat, Mcatg)
dt = Datetext
mc = Mcatg
df = Dformat
If df <> 0 And df <> 1 Then
DATEtoALFA2 = "فرمت تاريخ اشتباه است 0 يا 1"
Exit Function
End If
If mc <> 0 And mc <> 1 Then
DATEtoALFA2 = "فرمت ماه اشتباه است 0 يا 1"
Exit Function
End If
ld = Len(dt)
q1 = InStr(1, dt, "/")
If q1 <> 0 Then
q2 = InStr(q1 + 1, dt, "/")
If q2 = 0 Then
DATEtoALFA2 = "تاريخ را بصورت صحيح وارد کنيد"
Exit Function
End If
End If
If q1 <> 5 Then
If ld - q2 < 4 Then
DATEtoALFA2 = "سال بايد 4 رقمي باشد"
Exit Function
End If
End If
If q1 = 5 Then
exy = Left(dt, 4)
If df = 0 Then
exm = Mid(dt, q1 + 1, q2 - q1 - 1)
exd = Right(dt, ld - q2)
Else
exd = Mid(dt, q1 + 1, q2 - q1 - 1)
exm = Right(dt, ld - q2)
End If
Else
exy = Right(dt, 4)
If df = 0 Then
exd = Left(dt, q1 - 1)
exm = Mid(dt, q1 + 1, q2 - q1 - 1)
Else
exm = Left(dt, q1 - 1)
exd = Mid(dt, q1 + 1, q2 - q1 - 1)
End If
End If
DATEtoALFA2 = DATEtoALFA(exy, yc, exm, mc, exd)
End Function
شرح آرگومانها :
Datetext = تاریخ ورودی
Dformat = اگر 0 باشد 2 رقم وسط ممیزها ماه و اگر 1 باشد روز حساب میشود
Mcatg = تعیین میکند تاریخ شمسی یا میلادی باشد
مثال :
تابع = DATEtoALFA2("2017/06/06";1;1)
نتیجه = ششم ماه ژوئن سال دو هزار و و هفده ميلادي
تابع = DATEtoALFA2("2017/06/06";1;0)
نتیجه = ششم ماه شهريور سال دو هزار و و هفده هجري شمسي
تذکر مهم :
1 - این تابع با تابع قبلی کار میکند یعنی برای کار کردن باید تابع قبلی وجود داشته باشد
2 - در تاریخ ورودی سال باید 4 رقمی و کل عدد داخل "" باشد
علاقه مندی ها (Bookmarks)