اذهب الي المحتوي
أوفيسنا

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

قام بنشر

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

إخواني الكرام .. أقدم لكم .. كما هو واضح من عنوان الموضوع ، بدون شرح للموضوع ، أقدم لكم كود يقوم بتغيير اسم ورقة العمل ، وذلك تبعاً لتغير قيمة خلية تقوم بتحديدها في الكود ، فتتغير اسم ورقة العمل تلقائياً تبعاً لقيمة الخلية ، وإذا كان الاسم غير صالح Invalid تظهر رسالة تفيد بذلك ..

أترككم مع الملف المرفق ..

تقبلوا تحياتي

Changing Sheet Name To Match Cell Automatically.rar

  • Like 4
قام بنشر

بارك الله فيك

كنت بدور عليها من مده

كنا بنعمل تقرير مستقل لكل طالب وكنت بدور على طريقه تخلى اسم الورقه يتحول الى اسم الطالب 

بارك الله فيك وتسلم الايادى

  • Like 1
قام بنشر

السلام عليكم

احسنت وجازاك الله خير اخي ياسر

ملاحظة بسيطة

استخدمة كود تخطي الاخطاء

On Error Resume Next

الذي شخصيا لا احبذ استخدامه الا لضرورة القصوة ؟؟؟؟

وبعدها استخدمة

On Error GoTo 0

الذي يقول عند وجود خطاء ادهب الى الصفر

على حد علمي الكود الاول يلغي عمل الكود الاخير

سؤالي ما فئدة الاخير علما ان الصفر ليس مدرج في الكود

هو مجرد استفسار اخي ياسر ارجو ان تتقبله بصدر رحب فغايتي هي تحريك المواضيع و تطويرها بواسطة الاستفسارات والنقد البناء

معا لرفع المستوى

تحياتي للجميع

  • Like 1
قام بنشر

الأخ الحبيب أبو آلاء ..مشكور على مرورك العطر

الأخ الغالي والمعلم الكبير شوقي ربيع

الكود ليس لي .. ولكن أحب أن أضيف أن السطر

On Error Resume Next

يقوم هذا السطر بتجاوز وتجاهل الخطأ الذي قد ينتج عن السطر التالي في الكود .. وذلك تجنبا للخطأ في حالة إذا ما كان اسم الشيت خطأ

على سبيل المثال : قم بعمل شيت بأي اسم وليكن (أوفيسنا) وضع تعليق على السطرين اللذين ذكرتهما.. ثم في ورقة العمل التي بها الكود اكتب في الخلية A1 كلمة (أوفيسنا)

ستجد أن الإكسيل يظهر رسالة خطأ تفيد أنه لا يمكن تسمية الشيت بهذا الاسم حيث أن هناك شيت آخر بنفس الاسم

إذا السطر يساعدنا في تجاوز هذا الخطأ .. ولكن لابد أن ننتبه أنه إذا كان هناك أسطر أخرى في الكود تتضمن رسالة خطأ أخرى فإنه سوف يتم تجاهلها أيضاً ولذلك تم استخدام السطر

On Error GoTo 0

أي أن هذا السطر يستعيد خاصية رسائل الخطأ .. إذا ما كانت موجودة في أسطر أخرى في باقي الكود

هذا والله أعلم

  • Like 1
قام بنشر

استاد ياسر جزاك الله خير

اتفق معك فيما سبق دكره وخاصتا النقطة التي تقول فيها انه عند وجود خطاء اخر نستعمل

On Error GoTo 0

لمعالجة الخطاء و عدم ترك

On Error Resume Next

تتخطى كل الاخطاء

لاكن جرب هدا الكود واكتب اسم شيت موجود ولاحظ مدا يحدث

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
        Const sNAMECELL As String = "A1"
        Const sERROR As String = "Invalid Worksheet Name In Cell "
        Dim sSheetName As String
        
        With Target
           If Not Intersect(.Cells, Range(sNAMECELL)) Is Nothing Then
                sSheetName = Range(sNAMECELL).Value
                If Not sSheetName = "" Then
                    On Error Resume Next
                    Me.Name = sSheetName
                    On Error GoTo 0
                    Me.Name = sSheetName
0                     If Not sSheetName = Me.Name Then MsgBox sERROR & sNAMECELL
                End If
            End If
        End With
End Sub

من النضرة الاولى ستلاحظ انه طلبت من الكود تخطي الخطاء الثاني والدهاب مباشرة الى السطر

If Not sSheetName = Me.Name Then MsgBox sERROR & sNAMECELL

لاكنه يعطي خطاء

وجرب هدا ايضا وشاهد انه صحيح ويشتغل عادي ويثبت صحت كلامك في الاول

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
        Const sNAMECELL As String = "A1"
        Const sERROR As String = "Invalid Worksheet Name In Cell "
        Dim sSheetName As String
        
        With Target
           If Not Intersect(.Cells, Range(sNAMECELL)) Is Nothing Then
                sSheetName = Range(sNAMECELL).Value
                If Not sSheetName = "" Then
                    On Error Resume Next
                    Me.Name = sSheetName
                    On Error GoTo Err
                    Me.Name = sSheetName
Err:                     If Not sSheetName = Me.Name Then MsgBox sERROR & sNAMECELL
                End If
            End If
        End With
End Sub

ههههه

فماحكاية الفيوجل هنا

حلل وناقش

تحياتي

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