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

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

قام بنشر (معدل)

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

مثلا لدينا أسماء صفحات ( شيتات )كالتالي :

1001    1002    1003     NCR-101     NCR-102     NCR-103     R-201     R-202  

المطلوب كود قائمة منسدلة في الشيت  بأسماء الشيتات بشرط ان تظهر أسماء الشيتات اللي بالأرقام فقط 1001    1002    1003 مع مراعاة الزيادة والنقص   

مرفق ملف به الصفحات المذكوره أعلاه فقط

قائمة منسدلة بالصفحات الارقام فقط.rar

تم تعديل بواسطه KHMB
قام بنشر (معدل)

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

شكرا اخي حسام جزاك الله خير بالنسبة علي الفورم لدي المعرفة بها

لكـــــــــــــــــــــن المطلوب  قائمة في الشيت نفسة بالاكواد مع الاخذ بعين الاعتبار الزيادة والنقص

 

***************************************************************************************************************

ولله الحمد في 5 دقائق استخلصت فكرة كود اخي حسام وعلي ضوئها عملت الحل خلاص شكرا توصلت للحل جزاكم الله خير الجزاء

مرفق الملف به الحل بسيط جدا

For i = 1 To Sheets.Count
If IsNumeric(Sheets(i).Name) Then
[X2000].End(xlUp).Offset(1, 0) = Sheets(i).Name
End If
Next

ثم من الصفحة Main نعمل قائمة من التحقق من صحة البيانات ونختار العمود الذي تنزل فيه أسماء الصفحات وهنا العمود X ويتغير العمود حسب الرغبة

اكرر شكري لك اخي حسام

قائمة منسدلة بالصفحات الارقام فقط.rar

تم تعديل بواسطه KHMB
قام بنشر (معدل)

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

وبخصوص حلك كويس انك بتطور فى الكود

لكن جرب كدا تطلع من الشيت وبعدين ترجع تانى ستجد القائمة بتكرر كل مره بتدخل بالشيت 

وعلشان تمنع التكرار لازم تضيف السطر ده بداية الكود

ورقة10.Range("x:x").ClearContents

عموما شاهد المرفق

دا الكود فى حدث تغيير تحديد الخلايا داخل الشيت 1003 عند الوقوف على الخلية A1

وهو بيعمل قائمه منسدله بالكود ولا داعى لتصميمها من Data

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row = 1 And Target.Column = 1 Then
Range("cv:cv").ClearContents
For i = 1 To Sheets.Count
If IsNumeric(Sheets(i).Name) Then
lr = Cells(Rows.Count, "cv").End(xlUp).Row
Cells(lr + 1, 100) = Sheets(i).Name
End If
Next
Range("a1").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=OFFSET($CV$2,0,0,COUNTA(CV:CV))"
    End With
End If
End Sub

جرب تحذف اى شيت او تضيف شيت او تعدل اسم شيت الى رقم

وشاهد تغيير القائمة المنسدله

قائمة منسدلة بالصفحات الارقام فقط.zip

تم تعديل بواسطه الصـقر
  • Like 2
قام بنشر

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

نعم اخي حسام بالنسبة للتكرار وبالنسبة للقيام بالعمل في حدث الصفحة بالكود الأول  لامشكله عندي

بالنسبة للكود الثاني ممتاز جدا عجبنــــــي جدا جدا ويغنيني  عن العمل السابق بمرحلتين

بارك الله فيك وجزاك الله خير

 

  • 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