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

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

قام بنشر

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

إخواني الكرام .. أقدم لكم .. كما هو واضح من عنوان الموضوع ، بدون شرح للموضوع ، أقدم لكم كود يقوم بتغيير اسم ورقة العمل ، وذلك تبعاً لتغير قيمة خلية تقوم بتحديدها في الكود ، فتتغير اسم ورقة العمل تلقائياً تبعاً لقيمة الخلية ، وإذا كان الاسم غير صالح 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

ههههه

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

حلل وناقش

تحياتي

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information