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

نجوم المشاركات

  1. ياسر خليل أبو البراء

    ياسر خليل أبو البراء

    المشرفين السابقين


    • نقاط

      5

    • Posts

      13165


  2. شوقي ربيع

    شوقي ربيع

    الخبراء


    • نقاط

      4

    • Posts

      1134


  3. محمود_الشريف

    محمود_الشريف

    الخبراء


    • نقاط

      3

    • Posts

      1846


  4. منير سعد

    منير سعد

    عضو جديد 01


    • نقاط

      2

    • Posts

      26


Popular Content

Showing content with the highest reputation on 10/30/14 in مشاركات

  1. بسم الله الرحمان الرحيم السلام عليكم حركة اليوم كالعادة متعلقة بالجانب الفني و الجمالي لليوزر فورم اقتبست هاته الفكرة من تجليد الفورم في VB6 و VBNET بواسطة أداة Active Skin و وجدة ان هاته الأداة متوفر او متوافقة بالفعل مع VBA لذى بحثت وحاولت الى ان توصلت الى الاتي ا36 شكل (ثيم) مميز يمكنكم استعمالها بسهولة فس برامجكم ندخل الى التنفيذ اولا نحتاج الى تثبيت الأداة ActiveSkin Control ان لم تكن مثبت لديكم ولفعل ذالك اتبع الشرح المصور الاتي بهده الطريقة نكون انتهينا من عملية تثبيت الادات الان ناتي الى اضافة الاداة كاي ادات اخرى الى صندوق الادواة نقوم الان باضافة الاداة الى الفورم وايضا نقوم باضافة ليست بوكس ثم قم بنسخ هذا الكود في الفورم Option Explicit Private No As Double Private FSO As Object, Klasir As Object, Dosya As Object Private SeçilenDosya As String Private Const hWnd As Long = &H0 Private Sub UserForm_Initialize() On Error Resume Next Application.Visible = False With Me .Caption = "UserForm Skin" .Height = 226 .Width = 358 End With With ComboBox1 .Left = 6 .Top = 6 .Height = 18 .Width = 114 End With Call SkinDosyaListele End Sub Private Sub UserForm_Terminate() On Error Resume Next Contrôle1.Empty End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) On Error Resume Next Application.Visible = True End End Sub Private Sub ComboBox1_Change() On Error Resume Next SeçilenDosya = ComboBox1.List(ComboBox1.ListIndex, 1) Me.Caption = ComboBox1 With Contrôle1 .LoadSkin SeçilenDosya .ApplySkin hWnd .ZOrder 1 End With DoEvents End Sub Sub SkinDosyaListele() On Error Resume Next No = 0 Set FSO = VBA.CreateObject("Scripting.FileSystemObject") Dim Pth As String: Pth = ThisWorkbook.Path & "\Skins\" Set Klasir = FSO.GetFolder(Pth) For Each Dosya In Klasir.Files ComboBox1.AddItem Dosya.Name ComboBox1.List(No, 1) = Dosya No = No + 1 Next Dosya End Sub تم ارفاق مثال عملي للموضوع لكي يشتغل عنك المثال قم اولا بتثبيت الادات كما وضحت سابقا ولا تنسى وضع الملف بعد الحفظ مع مجلد Skins في نفس المسار سيضهر لك يوزر فورم به قائمة منسدلة بالشكل العادي قم باختيار أي اسم من القائمة ولاحظ مايحدث المجلد Skins يحوى السناكات بعض الصور المأخوذة للفورم بعد التجليد اهدي هذه الحركة الى اخي وصديقي ضاحي الغريب الذي عمل لي الشرح المصور اعلاه جازاه الله عنا كل الخير ارجو ان يفيدكم الموضوع وينال اعجابكم تحياتي للجميع اخوكم في الله شوقي ربيع الشرح المصور.rar ACTSKIN4 الاداة.rar مثال عملي عن تجليد الفورم.rar
    4 points
  2. أخى فى الله وبعد إذن إخوانى فى الله أساتذتى الكرام الأستاذ القدير // ياسر خليل الأستاذ القدير ومن جعلنى أعشق الفورم // شوقى ربيع الأمر ليس معقدا وليس سهلا هل عندما تعلمنا اللغة العربية تعلمنا فى البداية استخدام الفواصل أو متى توضع علامه الاستفهام أو الفاصله أو النقطه بل تعلمنا شكل الحرف ومن ثم تجميع الحروف ومن ثم قراءة الكلمه ومن ثم قراءة جمله صغيرة ومن ثم قراءة فقرة وفى كل مرحله نكتبها عده مرات لكى نحفظها ونتعرف على شكلها وكيف نستخدمها ومن ثم تعرفنا على الفواصل والنقط .... الخ فالأمر لا يؤخذ من النهاية الى البداية فبكل بساطه عند قرائتك للكود البرمجى فى عالم الفيجوال بيسك بمختلف استخداماته تجد كلمات ذات لون أزرق غامق وكلمات ذات لون أسود فالكامات ذات اللون الأزرق هى كلمات خاصه للكود البرمجى أى تم تخصيصها لا تستطيع أن تستخدمها فى أى شىء آخر غير الهدف منها فقط مثل كلمه DIM وهى الإعلان عن متغير ويكتب فى سطر مستقل وقد نكتب عده متغيرات فى سطر واحد نستخدم هنا الفاصله (( , )) التى بين الأقواس لكى نفهم البرنامج أن هناك عده متغيرات لكى يقوم الجهاز بتخزينها أيضا نريد تحديد مدى معين أى عده خلايا نضعها بين القوسين ( ) والقوسين تجدها دائما تستخدم فى اول سطر فى الكود العادى فعند كتابة كلمه SUB ثم اسم للكود تنتهى تلك الجمله بالقوسين ( ) أطرح على نفسى سؤال هام جدا هل أنا بتلك الإجابه السابقة فهمت ماذا تعنيه تلك العلامات ؟ لو أنا لست قارىء أو مستخدم جديد لتلك الأكواد وصريح مع نفسى ستكون الإجابه بالقطع لا لأنه بكل بساطه عندما تريد بناء بيت هل تبدأ بالديكورات أم بالأساسات أولا ؟ نبدأ بالأساسات أى القواعد ومن ثم الأعمده ومن ثم السقف ومن ثم الطوب الى أن تقوم بالتشطيب النهائى للبيت فالنصيحة أخى الكريم إبدأ بتبسيط الأمر على نفسك ولا تستعجل الأمور وهذا ما طلبه منى من تعلمت على ايديهم وإن لم يكن هذا الطلب مباشرا وموجها لى ولكن ما دام كتب ونشر على صفحات المنتدى فهو موجه للجميع وأدعو الله عز وجل لهم جميعا ولكل من تعلمت منه شيئا ولو يسيرا أن يحفظه بسر حفظه لكتابه الحكيم من شرور خلقه أجمعين وباب تحصيل العلم هو السؤال عن الذى لا أعرفه بشرط أن أكون صبورا ولا أستعجل الأمر حتى لا أستصعب الأمر فيما بعد وأترك الأمر كله وأعتذر للجميع على الإطاله وتقبلوا منى جميعا وافر الإحترام والتقدير
    3 points
  3. بعد إذن أخوتى الأعزاء وزيادة فى الخير ضع هذه المعادلة لحساب المسلم =SUMPRODUCT(--ISNUMBER(SEARCH("مسلم",C8:G29))) وهذه لحساب المسيحى =SUMPRODUCT(--ISNUMBER(SEARCH("مسيح",C8:G29))) وهذه أيضا =SUMPRODUCT(--ISNUMBER(SEARCH("مسلم",G8:G29))+ISNUMBER(SEARCH("مسلم",$D$8:$D$29))) وهذه أيضا =SUMPRODUCT(--ISNUMBER(SEARCH("مسيح",G8:G29))+ISNUMBER(SEARCH("مسيح",$D$8:$D$29))) تقبلوا تحياتى
    2 points
  4. السلام عليكم أخي الحبيب محمد الريفى فعلا الحل بواسطة ال solverجميل ولكنه كما أشار الأخ السائل ينتج حلا واحدا وهو يريد الإحتمالات المتعددة الممكنة ========================== أخي / مدحت تفضل المرفق به جزء كبير من الحل مازال الكود يحتاج مراجعة وتدقيق لأن النتائج ليست دقيقة وليست كل الإحتمالات ولن أكون جاهز لمشاركة أخري قبل عدة أيام سأرفع الملف لمن أراد أن يتم العمل وسأكون له شاكرا تفضل المرفق Invoice2.rar
    2 points
  5. أخي الأستاذ // said وعليكم السلام ورحمة الله وبركاته اهلين فيك أخا كريما وجزاك خيرا خير الجزاء علي الدعاء . *************************************************************** أولا :- أحب أشكر الأستاذ / سعيد بيرم علي تطوعه الكريم في الرد علي استفسارك مع اني لي ملاحظات ومنها - بالطبع ليس هناك إتاحة الا إذا كان البرنامج مفتوح المصدر.... فقط راجع اتفاقية البرنامج اعتقد ان الاتاحة المتاحة للمستخدم هو تغييرالتوقيعات فقط - اتفاقية البرنامج - لحفظ الحقوق فقط وليس لها دخل في البرنامج يستخدمه ويعدل في اصنافه وبياناته كما يشاء . - الاتاحة هو تغير التوقيعات مافهمت عليك برجاء التوضيح . ثانيا البرنامج تحت التجربة وارد وجود اخطاء . وردتني ملاحظات اثناء تشغيله وجاري معالجة تلك الملاحظات وتطويره ليخدم شريحة كبيرة . ثالثا :- بالنسبة للتعديل علي بيانات الاصناف يكون كالتالي رابعا:- التعديل علي اسماء الموردين والعملاء وبياناتهم يكون كالتالي أعتذر عن الاطالة
    2 points
  6. الاخ العزيز الاستاذ / ahmedmandour25 تم اضافة دالة لاستخراج ولى الامر تلقائيا و تم ضبط الصفحات لتكون كل صفحة بها 25 طالب Book2ssss.rar
    2 points
  7. اول مشاركة لية ارجو ان تكون مفيدة ملف بفورم يعرض اسماء الله الحسنى بالصورة والشرح مع شاشة اافتتاحية لمدة زمنية الشيتات محمية بالرقم 123 الكود غير محمي اي استفسار مرحب بها الرابط http://www.mediafire.com/download/c2ypmw5hrw8ru7f/Names.rar Names.rar
    1 point
  8. الأخ الكبير أبو صلاح تفضل المرفق التالي ارشيف.rar
    1 point
  9. الرقم السرى 5 والمستخدم لاتكتب فيه شيى
    1 point
  10. ادخل الى الملف فهو مفتوح البرمجة وكل شيئ موجود من رقم سرى واسم مستخدم
    1 point
  11. تفضل أخي أبو صلاح عد الخلايا بجزء من النص.rar
    1 point
  12. السلام عليكم مجهود طيب جزاكم الله خيرا
    1 point
  13. أخي الكريم بالنسبة للطلب الأول في أي ورقة عمل .. لا أجد ورقة عمل مناسبة للعمل عليها يرجى تصميم الشكل الذي تريده وسنحاول قدر الإمكان مساعدتك .. ولكني أطلب مزيد من التوضيح
    1 point
  14. السلام عليكم بخصوص الترتيب الابجدى فقد تم عمله ولكن لم افهم باقي المطلوب عمله وشكرا Book2ssssFinal.zip
    1 point
  15. السلام عليكم بعد اذن استاذى الحبيب المهندس طارق محمود تم الحل الحمد لله و ربما لم يخطر على بالى ولم اجربه الا قليلا جدا . لانه بدون معادلات او اكواد . ولكنه صعب شويه . ويعطى ادق النتائح حيث تم الحل بواسطة ال solver يوجد بداخل الملف شرح كامل لما قمت به ملف اكسيل للمشكله وحلها وملف وورد به الخطوات تقبلوا خالص تحياتى واحترامى تلميذكم فى اوفيسنا solver1.rar solver.rar
    1 point
  16. أخي الحبيب all_in هو اسم للنطاق من الخلية A3:D24 في ورقة العمل (عمل الأسعار) ، وقدأضاف الباشمهندس الكبير طارق إليك عمود قبل الأعمدة الموجودة ليسمح بجمع الشرطين أو المتغيرين ويعتبر هذا النطاق بمثابة قاعدة البيانات لديك ةيتم تسمية النطاق عن طريق تحديده ثم انقر في صندوق الاسم واكتب الاسم الذي تريده ورقم 4 في المعادلة يشير إلى العمود الذي سيتم استخراج القيمة منه وهو العمود الرابع في النطاق المذكور all_in
    1 point
  17. بعد توفيق الله ارسل رسالة شكر و عرفان بالجميل استاذ / عبدالله باقشير استاذ / ضاحى الغريب استاذ / شوقى ربيع الاساتذة الافاضل / المديرين و المشرفين على منتدى اوفيسنا الاساتذة الافاضل / اعضاء المنتدى " يوما بعد يوم يظهر من منتدانا اعمال متميزة تصل لحد المحترفين و الشركات المتخصصة فى البرمجة " بارك الله فيكم و اهنئكم على المستوى الذى وصل اليه منتدانا و نشكركم على تعاونكم و عطائكم _ تحباتى
    1 point
  18. الأخ الحبيب أبو عمر أولا هذا ليس بكود بل هذه معادلة (المعادلة في الإكسيل تبدأ بعلامة يساوي = أما الكود عبارة عن أسطر برمجية تكتب في محرر الفيجوال بيسك والكود يكتب بين Sub يليه اسم الإجراء وبعد كتابة الأكود ينتهي بالجملة End Sub) ثانيا لو أردت فهم معادلة بشكل جيد قم بتقسيمها جزء جزء حتى يسهل فهمها (قسمها تفهمها إن شاء الله) ثالثا إليك شرح المعادلة بشكل مبسط .. المعادلة عبارة عن معادلة بحث في النطاق A2:A20 وطالما أن البحث لا يشمل البحث عن خلية واحدة فبالتالي المعادلة معادلة صفيف أي تبدأ بقوس وتنتهي بقوس وهذه الأقواس لا تكتب يدوياً إنما يتم الضغط على CTRL + SHIFT +ENTER بعد الانتهاء من كتابة المعادلة ، هذا شرح عام للمعادلة نقسمها : =IFERROR(INDEX($A$2:$A$20; MATCH(0;COUNTIF($I$1:I3;$A$2:$A$20);0));"") الجزء الأول بعد علامة يساوي مرتبط بآخر جزء وهو خاص في حالة حدوث خطأ في ناتج المعادلة وهذا الخطأ هو #N/A تمت إضافته لتفادي الخطأ ، وفي حالة حدوث الخطأ يتم وضع فراغ وليس مسافة لأن الفراغ لا يشغل حيز أم المسافة بالمسطرة تشغل حيز =IFERROR( ;"") الجزء الثاني دالة INDEX وهي دالة البحث (لتعرف كيف تعمل الدالة قم بوضع مؤشر الماوس بعد القوس التالي مباشرة للدالة فيظهر لك البارامتر الخاص بالدالة - سيفيدك هذا في فهم المعادلة بشكل كبير - ، بالنسبة لهذه الدالة يتبعها ثلاثة بارامترات .. الأول هو Array أي المصفوفة أو بشكل أبسط النطاق والمقصود به نطاق البحث وهو هنا A2:A20 والبارامتر الثاني هو رقم الصف المطابق للبحث والبارامتر الثالث رقم العمود وهذا البارامتر اختياري أي يمكن تجاهله وهو في معادلتنا هذه تم تجاهله لأن البحث في عمود واحد وهو A نأتي للجزء الخاص باستخراج رقم الصف وهو أهم جزء في المعادلة .. MATCH(0;COUNTIF($I$1:I3;$A$2:$A$20);0) الدالة Match من ضمن دوال البحث ويتبعها ثلاثة بارامترات أيضا : الأول خاص بالقيمة المراد البحث عنها ، والثاني نطاق البحث عن القيمة ، والثالث عبارة عن تحديد طريقة البحث وتكون إحدى القيم 1 أو 0 أو -1 (الصفر للبحثث المتطابق) القيمة المطلوب البحث عنها 0 والجزء الأخير 0 للبحث المتطابق.... أما نطاق البحث عن القيمة فهي عبارة عن معادلة تكون نواتجها عبارة عن 1 أو صفر ، هنا تم استخدام الدالة COUNTIF دالة العد الشرطية COUNTIF($I$1:I1;$A$2:$A$20) ويتبعها النطاق وهو هنا الخلية $I$1:I1 حيث أول النطاق خلية ثابتة أمأ آخر النطاق خلية غير ثابتة حتى يتغير النطاق عند سحب المعادلة ، والبارامتر الثاني للدالة COUNTIF هو الشرط والشرط هنا هو القيم الموجودة في النطاق A2:A20 في الخلية I2 مثلا يبحث في النطاق فيجد كلمة المندوب والشرط هو إحدى القيم في النطاق A2:A20 فيرجع القيمة 0 فيعطي رقم الصف الذي يطابق القيمة صفر وهو الصف رقم 1 ، بالتالي يكون ناتج المعادلة MATCH في أول خلية رقم 1 وهو أول اسم (أحمد) وهكذا يتم استخراج القيم الغير مكررة في النطاق A2:A20 حتى إذا تم استخراج القيم كلها في النطاق لا تجد الدالة قيم أخرى فتعطي فراغ في باقي الخلايا الحمد لله الذي بنعمته تتم الصالحات
    1 point
  19. روابط التورنت غير فعالة ارجو التحيث وجزاكم الله خيرا
    1 point
  20. الاخ بندر بارك الله فيك الرجاء قراءه قواعد المشاركه و الالتزام بها http://www.officena.net/Tips/Questions.htm موضوع مخالف يغلق
    1 point
×
×
  • اضف...

Important Information