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

صلاح الدين المصلح

02 الأعضاء
  • Posts

    87
  • تاريخ الانضمام

  • تاريخ اخر زياره

كل منشورات العضو صلاح الدين المصلح

  1. السلام عليكم ورحمة الله وبركاته وبعد: الشكر الجزيل لأخينا الصقر على الطرح المميز وأسأل الله العظيم التوفيق ومواصلة الصيد فالبحر زخم والحيتان لذيذة . عندي ملاحظة بسيطة بخصوص خاصتي lock و enabled فمع تشابهمها في منع المستخدم من الادخال إلا أنهما تختلفان في التنسيق ، حيث يظهر المؤشر في textbox ذو الخاصية llocked=true على العكس لا يظهر في textbox ذو الخاصية enabled=false هذا من جهة ومن جهة أخرى فإن خاصية enabled=false تجعل الخلفية backcolor باهتة وغير ظاهرة على حقيقتها وتجعل النص المفترض من المبرمج text باهتا أيضا (عند تنفيذ الكود طبعا) بينما تظهر بشكل واضح لدى textbox بخاصية locked=true كما يتضح النص المبرمج فيه جيدا. والخلاصة أن خاصية lock تشعر المستخدم أن بإمكانه الوصول إلى التحرير لو استوفى مجموعة من الشروط التي حددها المبرمج (حساب يسمح وآخر لا يسمح مثلا)، بينما خاصية enable=false تجعل عنصر التحكم للقراءة فقط ومصدر لمعلومات أساسية أو مكملة لا يكون المستخدم عموما في حاجة إلى تغييره مع إمكانية فسح المجال للتحرير من طرف المبرمج. هذا والله أعلى وأعلم . في المرفق مثال على ذلك. enableAndLockProperties.rar
  2. إنا لله وإنا إليه راجعون. اللهم اغفر له وارحمه وعافه واعف عنه وأكرم نزله ووسع مدخله وأبدله دارا خيرا من داره وأهلا خيرا من أهله وطهره بالماء والثلج والبرد ونقه من الخطايا كما نقيت الثوب الأبيض من الدنس وباعد بينه وبين ذنوبه كما باعدت بين المشرق والمغرب وأبعده عن النار وأدخله الجنة . آمين وصلى الله وسلم على سيدنا محمد.
  3. ألف مبروك عليك أستاذنا الكبير ياسر ، نسأل الله تعالى أن يزيدك علو همة وعلو شأن في الدنيا والآخرة، وأن لا يحرمنا من دروسك وحلولك . أدامك الله ذخرا للأمة الاسلامية جمعـــــاء .
  4. بعد إذن أستاذنا سليم حاصبيا وهو مشكور على الحل الجميل مرفق طريقة ثانية لتعم الفائدة. Hide and Filter.rar
  5. أعتقد أن الموضوع طرح من أجل ذلك أليس كذلك أخي ابراهيم؟ وهو مفيد لمعرفة إلى أي مدى يمكن الوثوق في قدرات اكسل. ونحن في انتظار محاولات إخواننا الأعضاء فلربما قاموا هم أيضا بكسر حمايته. أو إعطاء أفكار جديدة لحماية أكثر فعالية. تقبل تحياتي وشكري.
  6. نعم أخي ابراهيم الملف كان قد طلب الباسوورد ولكن اضطررت أن أدخل بطريقة أخرى مكنتني للوصول إلى VBA بل إلى تغيير رقم VBa ومن ثمة السيطرة على الملف وإن شئت أرفقته لك. تقبل تحيــــاتي .
  7. شكرا أخي ابراهيم على المحاولة والأكواد الجميلة ، في الحقيقة موضوع يستحق التشجيع ولكن حاول أن تحمي الملف أكثر لأن حماية اكسل ضعيفة فقد ظهرت عندي الأكواد. وعموما جزاك الله خيرا على الإفادة.
  8. شكرا وبارك الله فيك أستاذنا يـــــاسر واصل إلى الأمام ســــــــر ، تقبل الله سعيك وزادنا وإياك علما نافعا ونفع بك الأمة. تقبل تحيـــــــــــاتي.
  9. الشكر الجزيل أستاذنا ياسر على عودتك لاستكمال الدروس لنا نحن المبتدئين عودة ميمونة ونحن نتأهب للبس المعاطف بعد طول الاختباء وراء الباب وهذه محاولة مني لتجريب الكود مع إضافة تمكن بالمحافظة على المسلسل وجعله ديناميكيا وقد أدرجت خاصية usedrange بدل xlup وأتمنى من سيادتكم التوجيه إلى الأصوب Sub SortData() ''للحفاظ على المسلسل يمكن جعل الترتيب ديناميكي كم سيأتي: Dim Line As Long, LineMax As Long With ورقة1 ' 'يمكن إدراج عبارة .usedrange بدل xlup كالتالي: LineMax = .UsedRange.Rows.Count ' ' الترتيب المطلوب: Range("A1:C" & LineMax).Sort Key1:=Range("C1:C" & LineMax), _ Order1:=xlDescending, Key2:=Range("B1:B" & LineMax), Order2:=xlAscending, Header:=xlYes ' ' الترتيب الديناميكي للصف انطلاقا من آخر صف مستخدم ' ' لاحظ استخدام عبارة step-1 For Line = LineMax To 2 Step -1 If .Cells(Line, 2) <> "" Then .Cells(Line, 1).Value = Line - 1 End If Next Line End With End Sub Lesson13Exam.rar
  10. بارك الله في الأخ محمود الشريف وشكــــــــــرا للادارة على تثبيت الموضوع الذي نرجو أن يزداد ثراء فهو لب الاكسل وجوهره.
  11. ممتاز جزاك الله خيرا هذا إبداع ما شاء الله عليك يا مخ اختـــــــــار.
  12. لا أعرف من كتب المعادلة أليس ملك المعادلات ؟ لابــد أنــه هــــــــــو! مــا شـــاء الله وتبارك الله رب العالمين. تقبلـــــوا تحيــــــــــــاتي.
  13. ملفان رائعــــــــــــان يحملان أفكارا مفيدة في مشاريع مفيدة من عملاقين من عمالقة المنتدى . شكــــــــــــــــــرا لكما ، تقبلا تحيــــاتي .
  14. الشكر كل الشكر لك أستاذي بارك الله فيك وزادك علما ونـــورا تقبل تحيـــــــــاتي وتقـــــديري.
  15. وفيك بارك الله أستــاذي القديـــــــــــــر ياســر ، أشكرك على المتابعة وتصحيح الأخطاء ومن الخطأ نتعلم وبفضل الله ثم بفضل نصائحك وتوجيهاتك ا لقيمة أعتقد أن الكود يمكن أن يكون كالتـــالي: Sub RightLeftFunction() Dim strName As String, Str2 As String Dim Line As Byte, LineMax As Byte With Sheets(1) LineMax = 10 For Line = 1 To LineMax strName = .Cells(Line, 1).Value Str2 = Right(strName, Len(strName) - InStr(strName, " ")) .Cells(Line, 2) = Str2 & "," & " " & Left(strName, Len(strName) _ - Len(Str2)) Next Line End With End Sub Exam12 Solution.zip
  16. شكرا جزيلا أستاذنا الكريم يــــاســـر ..واصل بارك الله فيك وجزاك كل خير ، أما عن تأخرك عن الدروس فأنت معذور لانشغالاتك الكثيرة . ونحن نتابع تحركاتك النشيطة في المنتدى وكلها فوائد ودروس إن لمن نجدها في هذا الموضوع فنحن نجدها في مواضيع أخرى .. جزاك الله خيرا ونفع بك وأدام عليك نعمة الصحة والعافية لتنفع الأمة قاطبة.. ونعتذر نحن أيضا عن التأخر عن الواجب وهذا الحل إن شاء الله كما يلي: Sub RightLeftFunction() Dim strName As String strName = Range("E5").Value Range("F5").Value = Right(strName, Len(strEmail) - InStr(strName , "K") + 1) _ & "," & " " & Left(strName, Len(strName) - InStr(strName, "r")) End Sub Exam12.zip
  17. بارك الله فيك وجزاك الله خيرا على الأكواد والبرنامج وأرجو شرح بعض الجزئيات الهامة في الأكواد مثل المتغير LIB متى يمكن ا ستعماله ؟
  18. جزاك الله خيرا يا اخي الابن الغالي لمصر الغالية وأشكرك على التعليق المرافق للكود ، وأرجو أن تعم هذه الطريقة ...جعلها الله في ميزان حسناتك.
  19. الشكر كل الشكر موصول إليكم أستاذنا الكريم حفظك الله ورعاك وجزاك ما تتمناه في الدنيا والآخرة آمين. وأنا بفضل الله ثم بفضلك أجد الجديد في كل حلقاتك الممتعة واصل أوصلنا الله وإياك إلى الفردوس الأعلى.
×
×
  • اضف...

Important Information