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

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

  1. kanory

    kanory

    الخبراء


    • نقاط

      29

    • Posts

      2313


  2. سليم حاصبيا

    سليم حاصبيا

    أوفيسنا


    • نقاط

      9

    • Posts

      8723


  3. Ali Mohamed Ali

    Ali Mohamed Ali

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


    • نقاط

      5

    • Posts

      11640


  4. علي المصري

    علي المصري

    05 عضو ذهبي


    • نقاط

      3

    • Posts

      1498


Popular Content

Showing content with the highest reputation on 08/20/19 in all areas

  1. وزيادة في اثراء الموضوع-تفضل follow hyperlink to hidden sheet in Excel.xlsm
    3 points
  2. تفضل .... برنامج مسابقة الحماية والاستمار.accdb
    3 points
  3. 3 points
  4. 3 points
  5. هل تريد ادخال البيانات قبل التامين أم بعد فك التأمين ؟؟؟؟
    3 points
  6. هل هذا هو مطلوبك أخي @محمد القدسي أنظر ..... اخفاء نموذج فرعي.accdb
    3 points
  7. بارك الله فيك أخي الفاضل @ابو ياسين المشولي
    2 points
  8. كود رائع صديقي علي لكن يمكن اختصاره الى حد بعيد ليبدو هكذا بدون Private Sub Worksheet_SelectionChange Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) Dim my_sh my_sh = Target.Parent Sheets(my_sh).Visible = -1 Sheets(my_sh).Select End Sub '++++++++++++++++++++++++++ Private Sub Worksheet_Activate() On Error Resume Next Sheets(ActiveCell.Value2).Visible = False End Sub
    2 points
  9. بعد اذن اخي حسين زر واحد لتنفيذ الحالتين معاً وخاصية اظهار الشيت من خلال الـــ RIGHT CLICK على اسم الشيت غير مفعّلة حتى لا يستطيع المستخدم اظهار اي شيت بدون الكود الكود Option Explicit Private Sub ToggleButton1_Click() With ToggleButton1 If .Value = -1 Then SHOW_ALL .Caption = "HIDE ALL SHEETS" Else HIDE_ALL .Caption = "SHOW ALL SHEETS" End If End With End Sub '+++++++++++++++++++++++++++++++++++++++++++ Sub SHOW_ALL() Dim sh As Worksheet For Each sh In Sheets sh.Visible = -1 Next sh End Sub '+++++++++++++++++++++++++++++++++++++++ Sub HIDE_ALL() Dim t%: t = Sheets("الرئيسية").Index Dim x% For x = 1 To Sheets.Count If Sheets(x).Index <> t Then _ Sheets(x).Visible = 2 Next End Sub الملف للتجربة مرفق Show_hide_sheets.xlsm
    2 points
  10. سلام عليكم هدية لأحلى منتدى . ياريت تجربوا وتنطوني رأيكم بي الفضل يعود لله ثم لكم ... https://drive.google.com/open?id=1VNsds00H6kKhAl77xr5cKREa83BNnjLJ
    1 point
  11. السلام عليكم عنجد محاولتي انشاء نموذج ادخال صرف بطريقة الشيك استطيع ادخال شيك واحد فقط ، وارغب باضافة 3 شيكات شيكات في نفس نموذج الصرف ولكن يعتبرهم شيك واحد الرجاء المساعدة https://drive.google.com/file/d/1dscXkKUJQtMJ6xZNwwdMB7YyTRcwOnC6/view?usp=sharing
    1 point
  12. الكود مقتبس من احد المواقع الاجنبية ولا اذكر اسمه
    1 point
  13. جرب هذا الكود مع شرح لكل سطر من الكود باللغة الاجنبية Option Explicit Sub SheetsToWorkbooks() 'Step 1: Declare all the variables. Dim ws As Worksheet 'Step 2: Turn screen updating off to speed up your macro code Application.ScreenUpdating = False 'Step 3: Start the looping through sheets For Each ws In ThisWorkbook.Worksheets 'Step 4: Copy the target sheet to the new workbook ws.Copy 'Step 5: Save the new workbook with sheet name. ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & ws.Name ActiveWorkbook.Close SaveChanges:=True 'Step 6: Loop back around to the next worksheet Next ws 'Step 7: Turn screen updating on Application.ScreenUpdating = True End Sub
    1 point
  14. نورت أخي طارق فكرة عمل المرحلات : عندما تقوم بحفظ أو طابعة الفاتورة يقوم الكود بترحيل الفاتورة أي ( منع التعديل ) إلا من نموذج المرحلات . وبالتوفيق .
    1 point
  15. اخي الكريم بعد الاطلاع البرنامج المرفق لاحظت وجود اخطاء برجمية كثيرة أي ان البناء غير صحيح دعنا نبدء بتنظيم البرنامج حتى يعمل بالصورة البرمجية الصحيحة كما انه توجد عناصر تحكم انت لست بحاجة اليها كما هو موضح في الصورة كذلك العمليات الحسابية التي ضمن الكود تستطيع الاستغناء غنها سيتم عن قريب ارفاق النسخة المعدلة اخي الكريم يجب دمع الجدولين InvoiceHT و InvoiceTT تحت مسمى جدول الحركة لكي تستطيع بناء مخزون صحصيح
    1 point
  16. كنت اريد ان نصل خطوه خطوه الى هذا الأمر فلو بحث في المنتدى وأغلب المنتديات لوجد ان برامج المخازن والبيع والشراء لا تقوم بتخزين الكمية المتاحة والمنصرفة في الجداول بل يتم الاستعلام عنها عن طريق خصم المنصرف من الوارد في الاستعلامات والنماذج والتقارير وهنا سيستغني عن استعلام التحديث للكمية المتاحة الذي وضعه بعد كل عملية في النموذج فطريقته جعلت الإجراءات بالنموذج كثيرة جدا وكان يمكن اختصارها والاستغناء عن بعضها لو بنى البرنامج بشكل صحيح ومازلت عند رايي في مصدر السجلات للنموذج لايجب ان تكون بهذه الطريقة فهذه الطريقة تستخدم لعرض السجلات دون التعامل معها ::بالتوفيق::
    1 point
  17. السلام عليكم بحثت عن هذا الموضوع كثيرا ولم اجد اكثر من تطبيق تفتح الجداول فقط
    1 point
  18. من خصائص تفصيل في التقرير خلي لون اسود بديل اختار بلا لون اخي وصديقي kanory سبقتني جزاك الله خير
    1 point
  19. الاخ / احمد الملف غير معطوب المكشلة في برنامج رار عندك قم بتحديثه ليتم التحميل جزاك الله خير استاذنا / ابو ياسين
    1 point
  20. اخي الكريم عمل تقرير بالكميه الموجوده بالمخزن وتقريربحركه الدخول والخروج ماهي الجداول التي بها المعلومات اجمالي حركة الدخول - اجمالي حركة الخروج = الكمية الموجودة تستطيع بناء التقرير و استخدام دالة DSUM
    1 point
  21. السلام عليكم اتمنى ان يكون هذا ما تريد اخفاء واظهار الشيتات.xlsm
    1 point
  22. السبب في عدم عمل الكود هو طريقتك في بناء مصدر السجلات للنموذج فقد جعلت مصدر السجلات 3 جداول وعند تنفيذ أمر الحذف لن يتعرف الكود على السجل المراد وحذفة ومن أي جدول اجعل مصدر السجلات للنموذج جدول واحد فقط كما بالصورة ولجلب البيانات المتعلقة بالصنف استخدم الطريقة التالية أو استخدم دالة Dlookup وستلاحظ ان كود الحذف يعمل بدون أي تعديلات أما إذا كنت تريد نفس طريقتك في مصدر السجلات للنموذج فالحل الذي وضعه لك الاستاذ @kanory باستخدم دالة Requery أو الكود الذي وضعه لك الاستاذ @ابو ياسين المشولي حسب تصوري هو الحل المتاح ::بالتوفيق:: InvoiceSale_906.rar
    1 point
  23. على كل حال اذا كنت تريدها بواسطة الماكرو Option Explicit Sub sum_befor_date() Dim i%, x%, s#, My_date As Date Dim k%: k = 3 My_date = [CA1] Range("CA3", Range("CA2").End(4)).ClearContents x = Cells(1, Columns.Count).End(1).Column - 1 Do Until Cells(k, 3) = vbNullString For i = 3 To x Step 2 If CDate(Cells(3, i + 1)) > My_date Then Exit For s = s + Cells(3, i) Next Cells(k, "CA") = s: s = 0 k = k + 1 Loop End Sub
    1 point
  24. السلام عليكم ورحمة الله وبركاته عملت نموذج مستمر ووضعت فيه كود إخفاء حقل معين بناء على شرط لكن النتيجة أن حالة إخفاء أو إظهار الحقل تتم في جميع السجلات كونه مستمر. * استخدام خاصية التنسيق الشرطي لا يعطينا خيار إخفاء وإظهار الحقل فقط تفعيل أو تعطيل الحقل. أريد تعديل الكود ليتفاعل مع السجل المحدد فقط للإخفاء والإظهار الكود : If Me.Cheldren = -1 Then Me.CheldrenNo.Visible = True Else: Me.CheldrenNo.Visible = False End If ومرفق المثال أيضاً تقبلوا شكري وتقديري Visible Current Record.rar
    1 point
  25. @العنكوش تفضل اخي اسم المستخدم hussam كلمة السر 1234 تربية_حاسبات.rar
    1 point
  26. أخي الفاضل @صالح حمادي البرنامج هو Snagit أعتقد مشكلتك في اسم الصورة ... لأن تسمية الصورة في اساسه لا يقبل هذه الرموز ... جرب انت وعدل تسمية اي صورة عندك في الجهاز لن يقبل التسمية وفيها تلك الرموز فلذلك تظهر لديك تلك الأخطاء ...... اما نحن عندما جربنا برنامجك لم يظهر نفس الخطأ لأن اساسا ليس لدينا مجلد الصور ....
    1 point
  27. اخي محمد ليس في الملف مشكله ... لاحظ سجلت سجل وبه رمز واخرجت الماوس ... انظر
    1 point
  28. وعليكم السلام-تفضل هذا الكود Option Explicit Sub opening_multiple_file() Dim i As Integer With Application.FileDialog(msoFileDialogFilePicker) .AllowMultiSelect = True .Filters.Clear .Filters.Add "Excel Files", "*.xls*" If .Show = True Then For i = 1 To .SelectedItems.Count Workbooks.Open .SelectedItems(i) Next i End If End With End Sub
    1 point
  29. مباشرة قبل كلمة End sub في الماكرو الثاني (trasnfer_data) اضف هذا السطر Union(DE.Range("B3:B8"), DE.Range("D3:D8")).ClearContents
    1 point
  30. في الحقيقة كنت اجرب البرنامج على مغسلة ملابس
    1 point
  31. زيادة في اثراء الموضوع هذا الكود Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Target.Address = "$A$2" And _ Target.Count = 1 Then My_validation End If Application.EnableEvents = True End Sub Rem================================ Sub My_validation() Dim Bayanat As Worksheet: Set Bayanat = Sheets("البيانات") Dim Amaliate As Worksheet: Set Amaliate = Sheets("العمليات") Dim arr(), Ro%, t%, Col%, st$ Ro = Bayanat.Range("a:a").Find(Amaliate.Cells(2, 1)).Row Col = Bayanat.Cells(Ro, Columns.Count).End(1).Column For t = 2 To Col ReDim Preserve arr(1 To t - 1) arr(t - 1) = Bayanat.Cells(Ro, t) Next st = Join(arr, ",") With Amaliate.Cells(2, 2).Validation .Delete .Add xlValidateList, Formula1:=st End With Amaliate.Cells(2, 2) = arr(1) Erase arr End Sub المبف مرفق variable_data_val.xlsm
    1 point
  32. وعليكم السلام -بعد اذن الأستاذ مصطفى ولإثراء الموضوع 1ملف العملاء.xlsx
    1 point
  33. وعليكم السلام تفضل ملف العملاء.xlsx
    1 point
  34. ماشاء الله شيء مميز وتصميم رائع أخ محمد أود أن أطرح بعض التساؤلات حول بعض المفردات والمسميات في البرنامج حيث ومن بعد اذنك سوف أقوم بتحرير وتنسيق بعض الحقول والمسميات في البرنامج واحتاج إلى معرفة بعض الحقول ومالمقصود بها وأيضاً بعض الكلمات مثل : 1- ماهو المقصود بــ أسم المشروع وماهي وظيفة الحقل 2- ماهو المقصود بــ المتابع وماهو وظيفة الحقل 3- مالمقصود بـ اسم الأضبارة وماهي وظيفة الحقل 4- مالمقصود بــ اسم المكتبة وماهي وظيفة الحقل 5- مالمقصود بــ رقم ونوع وجهة الكتاب ---------------> هل المقصود هنا رقم الخطاب أو المعاملة ومرة أخرى ألف شكر على هذا العمل المميز تحياتي لك
    1 point
  35. الســــلام عليكم يمكن استدعاء تقريبا كافة معادلات الاكسيل فى ال VBA باستخدام الامر Application.Worksheetfunction وهو ما فعلتة حضرتك واستدعيت الدالة SUMIF ولكن MAXIF و MINIF ليست ضمن معادلات الاكسيل وانما تم مزج IF مع MAX فى معادلة صفيف CTRL+SHIFT + ENTER لايجاد اكبر قيمة بشرط ... وكذلك الحال فى MINIF لهذا لاحظ ما يلى يلاحظ عند استخدام Evaluate تم قراءة المحتوى ما بين ال " " اى ال 1+1 كمعادلة وتم ارجاع الناتج على خلاف FORMULA التى نسخت المعادلة الى الخلية وسنستخدم Evaluate فى تنفيذ MAXIF و MINIF Range("D7").Value = Evaluate("=MAX(IF(D10:D13=B11,$E10:$E13))") Range("D15").Value = Evaluate("=Min(if(D10:D13=B11,E10:E13))") لاحظ كيف تم كتابة المعادلة بدون استخدام وسائط الاشارةالى النطاقات فى ال VBA ك RANGE او ... فقط تم كتابة المعادلة وكانها تكتب على ورقة العمل ما بين (" ") ولكن كيف سيعرف الاكسيل صفحة العمل التى تحوى تلك النطاقات فقط لاحظ ما يلى Range("D7").Value = Worksheets(" ورقة1 ").Evaluate("=MAX(IF(D10:D13=B11,$E10:$E13))") Range("D15").Value = Worksheets(" ورقة 1 ").Evaluate("=Min(if(D10:D13=B11,E10:E13))") اليك المرفق دالة MAXIF -MINIF.rar
    1 point
  36. جرب الطريقة التالية عن طريق التنسيق الشرطي Visible Current Record.rar
    1 point
  37. أعتقد يفترض ربط عملية الإظهار والإخفاء بناءً على رقم السجل لربما هكذا سيعمل لكني لست خبير في الأكواد :)
    1 point
  38. الاكواد التي جربتها لم تفلح إلا في حالة واحدة وهي وضع الفورم على Single Form
    1 point
  39. مساء الخير أشكركم جميعا أخواني وبالأخص أزهر لطرحه الحل وشكرا لمشرفنا أبو خليل لإهتمامه ومتابعته طبقت العملية أخي الكريم أزهر لكنها لم تزبط معي كوني أستخدم نموذج مستمر.. فالكود لايزال يظهر الحقل لجميع السجلات وليس فقط السجل الحالي ! بانتظار الحل الشافي تحياتي
    1 point
  40. اخونا ازهر السؤال من العضو CrazyAccess واضح تماما ومثاله الذي قدمه للعلاج رائع ونريدك ان تعدل على مثاله وتطبق الكود الذي تفضلت به
    1 point
  41. الاستاذ الفاضل : أبوخليل لقد قمت بتجربة عدة طرق ومنها الطريقة المعروضة في الموضوع ولم تصلح أي منهم فهل من طريقة لعمل ذلك في الفورم في طريقة عرض السجلات المتتالية
    1 point
  42. اخوي ازهر ، مع الشكر والتقدير ممكن تطبق الكود على المثال المرفق
    1 point
  43. تعمل دالة فرعية ويتم استدعائها من خلال مربع اختيار , بعدها يتم استدعاء الدالة الفرعية من خلال . حدث في الحالي للفورم , وحدث بعد التحديث لمربع الاختيار . طبعا تغير اسماء الحقول حسب ما موجود في نموذج عملك . Private Sub CustomerCB_AfterUpdate() GetTrue End Sub Private Sub Form_Current() GetTrue End Sub Sub GetTrue() If Me.CustomerCB Then Me.CustomerFirstName.Visible = True Me.CustomerLastName.Visible = True Me.CustomerPhone.Visible = True Else Me.CustomerFirstName.Visible = False Me.CustomerLastName.Visible = False Me.CustomerPhone.Visible = False End If Exit Sub End Sub
    1 point
  44. عفوا تاتي بين الصفحة الثالثة والرابعة وتضيف فاصل صفحة جديدة من نوع : الصفحة التالية ثم تفتح راس وتذييل الصفحة وتنقر عاى زر الامر ( ارتباط بالسابق ) حتى تقطع الصلة في الترقيم بين الصفحات السابقة والصفحات اللاحقة ثم من مربع الحوار التنسيق الرقمي للصفحات تختار من بدء الترقيم : 1 ثم تدرج رقم الصفحة فيبدا الترقيم برقم 1 من هذه الصفحة . والسلام عليكم
    1 point
×
×
  • اضف...

Important Information