السلام عليكم
اللهم علمنا ماينفعنا
هذا كود تحديد مدى ليعمل ماقلت عنه
ولاكن بهذه الصيغة 010109 اي 01/01/2009
تكتب التاريخ ارقام متواصله وهو يقوم بعمل (/) علامة فواصل التاريخ
ولاكن رجائي من الاساتذه الخبراء التعديل عليه كي يقوم بالفصل في حالة كتابة التاريخ كامل
بمعنى في حالة 8 ارقام الاحتمال الحقيقي 01032011 يعني 01/03/2011
حاولت اعدل عليه ولم انجح
على العموم هذا الكود
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Dim StrVal As String
Dim dDate As Date
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Target, Range("A1:A100")) Is Nothing Then Exit Sub
With Target
StrVal = Format(.Text, "000000")
If IsNumeric(StrVal) And Len(StrVal) = 6 Then
Application.EnableEvents = False
If Application.International(xlDateOrder) = 1 Then
dDate = DateValue(Left(StrVal, 2) & "/" & Mid(StrVal, 3, 2) & "/" & Right(StrVal, 2))
Else
dDate = DateValue(Mid(StrVal, 3, 2) & "/" & Left(StrVal, 2) & "/" & Right(StrVal, 2))
End If
.NumberFormat = "dd/mm/yyyy"
.Value = CDate(DateSerial(Year(dDate), Month(dDate), Day(dDate)))
End If
End With
Application.EnableEvents = True
End Sub
تحياتي