-
Posts
730 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
13
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو الحسامي
-
السلام عليكم اخي كيماس درس مشروح بهذه الطريقة يوصل معلومة افضل من كتاب او معلم جزاك الله خير وعندي اقتراح لو يتم تجميع كل ملفاتك " الفيديو " بموضوع واحد افضل للاعظاء طبعا مع ملفات اضافية اكثر من هيك وهذا طمع الاعضاء فيك
-
السلام عليكم اخي العزيز عادل وانا اخوي الكبير اسمه عادل على فكرة اضافاتك دائما موضوع مستقل وابداع بحد ذاته وبارك الله فيك
-
السلام عليكم ورحمة الله وبركاته استاذنا العزيز محمد طاهر عمل مبدع وصنع دالة لهذا الغرض لهو عمل كبير ومبدع وجزاك الله خيرا اخي عادل حنفي عمل متميز كعادتك وهنا مشاركة مني فقط عند اختيار لون بواسطة المؤشر يقوم بالعد ووضع الناتج واللون CountByCellColor-hosami.rar
-
السلام عليكم ورحمة الله وبركاتة هنا مرفق يمنع التعديل في بيانات اي يوم سابق لتاريخ اليوم لكن ليس باسلوب الحماية وانما باسلوب اخر عسى أن يتم الاستفادة منه تحديد.rar
-
السلام عليكم اخي قصي تصدير البيانات تعمل لكن الخطأ الذي يظهر كان ناتج من كون انه لا يوجد بيانات وهنا ملف مرفق أما الواجهات المطلوبة فارجو توضيح البيانات والبنود التي تريد عمله على هذه الواجهات الخالدي.rar
-
السلام عليكم اخي العزيز حسب ما فهمت من المعادلة من اخي الحبيب ابن علية وعلى فرض وضع المطلوب في الخلية a1 الكود هو [a1] = [W8] & " " & [V8] & " " & [U8] & " " & [R8] & " " & [Q8] & " " & [N8] & " " & [B8] & "" والله أعلم
-
طلب مساعدة في إضاءة خلايا تقويم صغير !!
الحسامي replied to الأسد الجريح's topic in منتدى الاكسيل Excel
السلام عليكم اخي عادل بارك الله فيك دائما سباق وهنا حل بالاكواد THE MOST EXPENSIVE.rar -
طلب مساعدة في إضاءة خلايا تقويم صغير !!
الحسامي replied to الأسد الجريح's topic in منتدى الاكسيل Excel
السلام عليكم اخي عادل بارك الله فيك دائما سباق وهنا حل بالاكواد -
السلام عليكم اخي ولد طيبة الفيجول بيسك بحر لا ينضب وأي مسألة فيه تحل بأكثر من طريقة وبالنسبة لأكواد عد الأسطر المستخدمة أو الخلايا التي فيها بيانات فهي عديدة ومنها الكود الذي ذكرته... وهنا على سبيل المثال أكواد تستخدم لعد الأسطر المستخدمة Cells(Cells.Rows.Count, "a").End(xlUp).Row Cells(Rows.Count, 1).End(xlUp)(1).Row Cells(Rows.Count, Range("a1:a5000").Column).End(xlUp).Row Cells(Cells.Rows.Count, "a").End(xlUp).Row Range("a1:a5000").Find(what:="*", after:=[A1], SearchDirection:=xlPrevious).Row Range("a1:a5000").Find(what:="*", LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row أما بالنسبة لإضافة العدد 1 فذلك غير صحيح ويبدو أنك لم تستوعب عمل الكود أو فكرة حد التكرار الذي شرحته فنحن نريد عد الأسطر المستخدمة ليتم التكرار بحسب عدد الأسطر ولا نريد الكتابة في الخلايا وبالتالي الكود صحيح لكن بدون إضافة العدد 1 لكن لو كان الهدف من الكود هو الكتابة في الخلية التي تلي اخر خلية مستخدمة فيجب إستبدال كلمة Row بالكلمة Value فيصبح الكود Sheets(TSH).Range("J55555").End(xlUp).Value + 1
-
السلام عليكم اخي هشام افرض ان لدينا البيانات تبدأ من السطر 8 وتنتهي بالسطر 50 فيكون الكود for i = 8 to 50 وبالتالي تم تنفيذ الحلقة التكرارية 43 مرة أي حسب عدد أسطر البيانات لكن عندما يتم إضافة اسطر بيانات جديدة فلن يتم شمل هذه الاسطر بالحلقة التكرارية وأغلب المستخدمين يعملون على زيادة عدد الحلقات التكرارية تحسبا لاي زيادة في البيانات ولكن بالنسبة إلي هذا المبدأ غير منطقي لماذا أدع البرنامج يكرر التكرار بدون سبب وكذلك لو كانت لديك بيانات كثيرة سيكون البرنامج بطئ نسبياً وبالتالي لعمل التكرار حسب عدد اسطر البيانات يتم تحديده تلقائياً حسب عدد الأطر التي يتم عدها باستخدام دالة العد counta Application.CountA(Range("au8:au5000")) وبذلك قمنا بتحديد عدد اسطر البانات وجعلناه نهاية حد التكرار لكن عدد الاسطر هو 43 سطر ونهاية حد التكرار هو 50 أي أن هناك فرق 7 مرات تكرار وسبب هذا الفرق هو لان البيانات لدينا تبدأ من السطر الثامن أي لو كانت اسطر البيانات بدأت من السطر الاول لن يحدث فرق بين عدد الاسطر ونهاية حد التكرار لذلك يجب إضافة هذا الفرق الى نهاية حد التكرار وهذا الفرق ما هو الا الاسطر السبعة الاولى السابقة لبداية اسطر البيانات التي لدينا for i = 8 to Application.CountA(Range("au8:au5000"))+7 ارجو ان اكون اوضحت الفكرة بالشكل المطلوب
-
السلام عليكم ورحمة الله وبركاته اخي الحبيب هشام وانت كمان واحشني ----------- اخي هشام كودك شغال مية مية لكني أردت التوضيح ليس في هذا البرنامج وانما اردت التوضيح بشكل عام ودائما عندما اجد معلومة قد تفيد الاخرين أقوم بطرحها وليس للتعديل على البرامج هنا مرفق الملف بالتعديل المطلوب مع اضافة زر مسح البيانات اخوك عماد الحسامي رابع بالدرجات1.rar
-
السلام عليكم ورحمة الله وبركاته بارك الله فيك أخي هشام وعمل أكثر من رائع وللفائدة: الحلقة التكرارية في برامج الترحيل تعمل بناءاً على عدد أسطر البيانات وتبدأ من أول سطر للبيانات وبالتالي فالأنسب أن تبدأ الحلقة من السطر أي وليس من السطر الأول فلو كانت هناك بيانات مطابقة لحدثت بعض المشاكل For R = 8 To 1000 لكن يمكننا عمل حلقات التكرار بناءاً على عدد الأسطر باستخدام دالة العد count For R = 8 To Application.CountA(Range("au8:au5000")) ولكن بما أن اسطر البيانات تبدأ من السطر الثامن فيجب إضافة الأسطر السابقة الى دالة الجمع For R = 8 To Application.CountA(Range("au8:au5000")) + 8 وبما أن هذا البرنامج ذو حالة خاصة مكون من قائمتين ويوجد بينهما أسطر فارغة فيجب إضافة هذه الأسطر كذلك الى دالة الجمع ... لدينا 10 اسطر فارغة بين الجدولين For R = 8 To Application.CountA(Range("au8:au5000")) +8+ 10 أي بالنهاية يصبح الكود For R = 8 To Application.CountA(Range("au8:au5000")) + 18 كذلك يمكن عمل التسلسل في الصفحات المرحل اليها باضافة كود " سأسميه كود التسلسل " في كل حالة من الحالات داخل الشرط الموضوع Application.ScreenUpdating = False For R = 8 To Application.CountA(Range("au8:au5000")) + 18 If Cells(R, 47) = "ناجح" Then Range("A" & R).Resize(1, 50).Copy Sheets("ناجح").Range("A" & M).PasteSpecial xlPasteValues Application.CutCopyMode = False Sheets("ناجح").Cells(M, 1) = M - 7 M = M + 1 ElseIf Cells(R, 47) = "راسب" Then Range("A" & R).Resize(1, 50).Copy Sheets("راسب").Range("A" & N).PasteSpecial xlPasteValues Application.CutCopyMode = False Sheets("راسب").Cells(N, 1) = N - 7 N = N + 1 ElseIf Cells(R, 47) = "غـ" Then Range("A" & R).Resize(1, 50).Copy Sheets("غائب").Range("A" & l).PasteSpecial xlPasteValues Application.CutCopyMode = False Sheets("غائب").Cells(l, 1) = l - 7 l = l + 1 End If Next أردت التوضيح حتى تعم الفائدة والله من وراء القصد
-
برنامج تقويم الأداء الوظيفي للمعلمين
الحسامي replied to أبوســـارة1973's topic in منتدى الاكسيل Excel
السلام عليكم اخي كيماس انت انسان اكثر من رائع وبعيداً عن المجاملة فأنت من الذين نعتز بهم في هذا المنتدى وللفائدة : بما أنك عملت حلقة تكرارية للترحيل فذلك لا يمنع من مسح البيانات من textbox مباشرة بعد عملية الترحيل أو بصورة أوضح يمكنك وضع سطر مسح البيانات بعد سطر الترحيل داخل نفس الحلقة التكرارية مباشرة ولا يوجد من سبب لعمل حلقة تكرارية مستقلة واخراج سطر مسح بيانات ComboBox من الحلقة لان المسح يتم مرة واحدة فقط وليس على عدد مرات التكرار For i = 1 To 34 Sheets("C??O?2").Cells(EndRow + 3, i + 1).Value = Me.Controls("TextBox" & i).Value Me.Controls("TextBox" & i).Value = "" Next i ComboBox1.Value = "" -
السلام عليكم ورحمة الله وبركاته اخي العزيز لجمع عدة مربعات نصوص وبناءا لمثالك ضع الكود التالي TextBox1 = Val(TextBox2) + Val(TextBox3) + Val(TextBox4) في الحدث Exit لكل مربع نص كالاتي : Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean) TextBox1 = Val(TextBox2) + Val(TextBox3) + Val(TextBox4) End Sub Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean) TextBox1 = Val(TextBox2) + Val(TextBox3) + Val(TextBox4) End Sub Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean) TextBox1 = Val(TextBox2) + Val(TextBox3) + Val(TextBox4) End Sub أما في الشطر الثاني من سؤالك استخدم الكود التالي Private Sub TextBox5_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox5.Value < 15 Then TextBox5 = "" MsgBox "عذرا الارقام المدخلة يجب ان تكون اكبر من 14" End If وهنا مرفق لمثال عمل لما تم شرحه مثال textbox.rar
-
السلام عليكم ورحمة الله وبركاته لجعل ال TEXTBOX لا يقيل إلا الارقام ضع الكود التالي في داخل ال TEXTBOX If Not IsNumeric(TextBox1.Value) Then TextBox1 = "" أما اذا اردت ظهور رسالة لاعلام المستخدم بذلك استخدم الكود التالي If Not IsNumeric(TextBox1.Value) Then MsgBox "عذرا هذه الخانة مخصصة للارقام فقط" TextBox1 = "" End If
-
السلام عليكم ورحمة الله وبركاته بعد إذن أخي عادل ..... اخي العزيز الكود الذي يعمل تلقائيا يسمى بالحدث "Event" وفي برنامجك يسمى "Worksheet_Change Event" وبالتالي فأنت تحتاج الى كود لتعطيل هذا الحدث عند تنشيط الكود المسجل " كبسة الترحيل " لذا في كود زر الترحيل ضع هذا الكود في بداية الكود المسجل وهو كود تعطيل الاحداث Application.EnableEvents = False وفي نهاية الكود ضع كود تنشيط الاحداث في نهاية البرنامج Application.EnableEvents = True
-
السلام عليكم اخي قصي عذرا على التاخير بسبب بعض ظروف طارئة المهم .... هنا مرفق تم اضافة كبسة لمسح البيانات في صفحة الشيت الاساسي لكن تحتاج في الاعمدة التي تحتوي على المعادلات يجب عمل اخفاء للقيم الظاهرة للمعادلات اما في صفحة انجاز 1 تم اضافة 3 كبسات لاستيراد بيانات الطلبة وتصدير العلامات الى صفحة الشيت وكبسة لمسح البيانات بعد التصدير باقي فقط صفحة الشهادات وسانجزها في اقرب وقت ان شاء الله ------------------ اما بالنسبة لشرح صفحة الاوائل فأقول وهذا من المشاكل التي اجدها في المنتدى فاقول :. حين يكون هناك برنامج معين وطويل نسبيا ويحتوي على اكواد عديدة وبالذات عندما تكون هناك ارتباطات متعددة بين هذه الاكواد وبين بعض الخلايا بالتحديد فيكون من الصعب شرح هذا البرنامج يعني شرح برنامج كامل من الصعب ذلك اما شرح جزئيات معينة او كود معين فلا يوجد مشاكل وبالرغم من ذلك ساحاول ان اشرح ذلك البرنامج ان استطعت ان اوصل الفكرة ان شاء الله وعذرا مرة اخرى على التاخير اخوكم عماد الحسامي الخالدي-معدل.rar
-
السلام عليكم اخي الحبيب احمد يعقوب " متحف العلم " بارك الله فيك ولاثراء الموضوع هنا حل أخر الفلتره.rar
-
السلام عليكم اخي العزيز ..... أولا : انا اتفق اتفاق كامل بكل ما أورده اخي عادل في رده فنحن والحمد لله لسنا في مسابقة تنافسية او ميدان تحدي يتحدى الاخر فنحن هنا منظومة تكاملية نكمل بعضنا البعض نتعلم من بعضنا البعض فمثلا انا تعلمت الكثير من غيري وغيري تعلم الكثير من غيره وغيره تعلم الكثر من غيره وهكذا .... ثانيا ان ضد مناداة الاعضاء بالاسم وطلب الحل من عضو بعينه وذلك لعة اسباب .. اعتقد الجميع يعرفها ثالثا نعم هناك العديد من الاسباب التي تدع اي منا في عدم الاجابة على موضوع معين والتي اوردها اخي عادل رابعا .. والاهم من قال إن هناك ما يسمى عملاق في الاكسل ... فلا اعتقد ان هناك انسان في الدنيا قد إلم بالاكسل بكامل جوانبه واكاد اجزم ان الاكسل من العلوم التي لا حدود لها ولا يمكن احتوائه باي شكل من الاشكال وابسط مثال على ذلك ... اي سؤال في الاكسل يمكن حله باكثر من طريقة وتكون كل الحلول صحيحة وهذا ما يدفعنا في طرح اكثر من حل أي بصورة أوضح لسنا في محل تحدي بيننا وبين الاكسل فاي تحدي بين الاكسل والبشر فالبشر سيخسرون بالطبع وان كانت قاعدتي في التعامل في الاكسل " لا وجود للمستحيل في الاكسل " خامسا : اتعجب من بعض الاعضاء عند طرح موضوع معين او مشكلة يريدون حلها فيجزمون بأن يفهم عليهم الاخرين بكل بساطة وكانه يعمل بنفس المجال فالمحاسب عن طرحة لمشكلته يعتقد ان الاخريين محاسبين والمهندس يفترض ان الاخرين مهندسين والمعلم يعتقد أن الاخرين معلمون وانا كثيرا ما رايت اكثر من موضوع يتم شرحه ولا استطيع تحديد المطلوب وان كان المطلوب بسيط أما بالنسبة لبرنامجك اخي فلا اعتقد ان احد من الاعضاء سيتاخر في مساعدتك ولكن ليس بالصورة التي طرحتها انت واعتقد ان افضل طريقة لعمل البرامج تنفيذه صفحة صفحة ... وكذلك الرابط الذي وضعته لا يعمل
-
تحديد و إلغاء تحديد نماذج التحكم جماعيا بنموذج إختيار واحد
الحسامي replied to halwim's topic in منتدى الاكسيل Excel
السلام عليكم والله حسب معلوماتي لا يمكن ذلك بدون اكواد ... والله اعلم ... -
إخراج نتائج العمليات الحسابية في رسائل التعليق
الحسامي replied to halwim's topic in منتدى الاكسيل Excel
السلام عليكم هنااخي العزبز الملف المعدل إظهار القيمة التي تعادل العملة المحلية في رسائل التعليق.rar -
إخراج نتائج العمليات الحسابية في رسائل التعليق
الحسامي replied to halwim's topic in منتدى الاكسيل Excel
السلام عليكم الاخ المجتهد ابو البراء بارك الله فيك والله والله والله ليسعدني كل مشاركة ورد فيها ابداع وجهد ملحوظ ويفرحني كل انسان يسعى ويجتهد وخاصة في طلب العلم والمعرفة جهد اكثر من رائع جزاك الله خيرا وهنا مرفق للتعديل المطلوب عسى ان يكون المطلوب تحياتي للجميع إظهار القيمة التي تعادل العملة المحلية في رسائل التعليق.rar -
تحديد و إلغاء تحديد نماذج التحكم جماعيا بنموذج إختيار واحد
الحسامي replied to halwim's topic in منتدى الاكسيل Excel
السلام عليكم اخي العزيز شاهد المرفق التحديد أوإلغاء التحديد جماعيا بنموذج الإختيار.rar -
إخراج نتائج العمليات الحسابية في رسائل التعليق
الحسامي replied to halwim's topic in منتدى الاكسيل Excel
السلام عليكم اخي العزيز قد لا اكون قد فهمت المطلوب بالصورة المطلوبة ولكن على حسب ما فهمت من الملف هنا المرفق عليه المطلوب واية تعديلات انا في الخدمة ConditionalComment-halwim-2003.rar