اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

شرح هذا الكود


amir501

الردود الموصى بها

اخواني السلام عليكم ورحمة الله

هذا الكود يقوم بادراج التاريخ تلقائيا في اي خلية في العود A بمجرد الكتابةفي الععود B اي لو كتبنا اي شي في الخلية B2 سيكتب التاريخ تلقائيا في الخلية A1

هل يتكرم احد الاخوة مشكورا بشرح سطور هذا الكود ونحن له من الشاكرين


Private Sub Worksheet_Change(ByVal Target As Excel.Range)

        With Target

            If .Count > 1 Then Exit Sub

            If Not Intersect(Range("b1:b100"), .Cells) Is Nothing Then

                Application.EnableEvents = False

                If IsEmpty(.Value) Then

                    .Offset(0, 1).ClearContents

                Else

                    With .Offset(0, -1)

                        .NumberFormat = "dd mmm yyyy "

                        .Value = Now

                    End With

                End If

                Application.EnableEvents = True

            End If

        End With

    End Sub



رابط هذا التعليق
شارك

وعليكم السلام ورحمة الله

اخواني السلام عليكم ورحمة الله

هذا الكود يقوم بادراج التاريخ تلقائيا في اي خلية في العود A بمجرد الكتابةفي الععود B اي لو كتبنا اي شي في الخلية B2 سيكتب التاريخ تلقائيا في الخلية A1

هل يتكرم احد الاخوة مشكورا بشرح سطور هذا الكود ونحن له من الشاكرين


Private Sub Worksheet_Change(ByVal Target As Excel.Range)

        With Target

            If .Count > 1 Then Exit Sub

            If Not Intersect(Range("b1:b100"), .Cells) Is Nothing Then

                Application.EnableEvents = False

                If IsEmpty(.Value) Then

                    .Offset(0, 1).ClearContents

                Else

                    With .Offset(0, -1)

                        .NumberFormat = "dd mmm yyyy "

                        .Value = Now

                    End With

                End If

                Application.EnableEvents = True

            End If

        End With

    End Sub



أخي الكريم وهل هناك شرح غير الذي قدمته لقد وفيت وتكرمت في شرحه... والله أعلم

أخوك بن علية

رابط هذا التعليق
شارك

السلام عليكم

اخي العزيز الكود السابق يمكن اختصاره كثيرا وهناك العدد من البنود التي يمكن اختصارها كالتالي :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

If Not Intersect(Target, Range("b1:b100")) Is Nothing Then '--------------------------------

Application.EnableEvents = False

If Target.Count > 1 Then Exit Sub

Target.Offset(0, -1).NumberFormat = "dd mmm yyyy "

Target.Offset(0, -1).Value = Now

If IsEmpty(Target.Cells) Then Target.Offset(0, -1).ClearContents

Application.EnableEvents = True

End If

End Sub
اما شرح هذا الكود فاليك
If Not Intersect(Target, Range("b1:b100")) Is Nothing Then '--------------------------------

هنا لتحديد النطاق الذي يمكن للكود ان يعمل بواسطته وهنا عند التغيير في اي من الخلايا في النطاق المحدد فسيتم تنفيذ المطلوب وان كان التغيير في غير هذا النطاق فلن يتم تنفيذ الكود
Application.EnableEvents = False
يستعمل هذا الكود عندما يكون هناك اكثر من كود للصفحة الواحدة ويعمل هذا الامر على تجميد الاكواد الاخرى ويتم تنفيذ الكود في هذا الحدث فقط ولكن في كودك هذا وكون هناك كود واحد فقط وبالتالي لا تلزم هذه الجزئية من الكود وعند استخدام هذه الامر يجب اعادة تفعيل الاكواد الاخرى وذلك بوضع الكود التالي في نهاية الكود
Application.EnableEvents = True
If Target.Count > 1 Then Exit Sub
هنا في حالة اختيار اكثر من خلية لن يتم تنفيذ شئ ولن يتم تنفيذ الكود
Target.Offset(0, -1).NumberFormat = "dd mmm yyyy "
هنا يتم عمل تنسيق للخلية المقابلة ( السابقة ) في العمود A عند الكتابة في الخلية في العمود الثاني B
Target.Offset(0, -1).Value = Now
هنا يتم وضع التاريخ في الخلية المقابلة ( السابقة ) في العمود A عند الكتابة في الخلية في العمود الثاني B
If IsEmpty(Target.Cells) Then Target.Offset(0, -1).ClearContents

هنا عند مسح الخلية في العمود الثاني B بواسطة Delete Key فسيقوم بمسح الخلية في العمود السابق A

  • Like 1
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information