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

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    195

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

  1. نظرا لاستعمالك Option Explicit في بداية الكود يجب الإعلان عن المتغيرات ضع هذا السطر كأول سطر في إجراء البحث Dim ws As Worksheet, i As Long, i2 As Long بالتوفيق
  2. يمكنك استعمال هذه الأكواد في النموذج Private Sub ComboBox1_Change() Sheet1.Range("a1").CurrentRegion.AutoFilter Field:=4, Criteria1:=ComboBox1.Value End Sub Private Sub ComboBox2_Change() Sheet1.Range("a1").CurrentRegion.AutoFilter Field:=5, Criteria1:=ComboBox2.Value End Sub Private Sub ComboBox3_Change() Sheet1.Range("a1").CurrentRegion.AutoFilter Field:=6, Criteria1:=ComboBox3.Value End Sub Private Sub CommandButton1_Click() ComboBox1.Value = "" ComboBox2.Value = "" ComboBox3.Value = "" Sheet1.Range("a1").CurrentRegion.AutoFilter End Sub Private Sub UserForm_Initialize() Me.ComboBox1.List = Array("معلم", "مهندس", "فني", "مدير", "مهندس اقدم", "محامي") For n = 1 To 12 Me.ComboBox2.AddItem n Next n For n = 2003 To 2022 Me.ComboBox3.AddItem n Next n End Sub لاحظ طرق تعبئة combobox واستعمال currentregion بالتوفيق
  3. يمكنك استعمال هذه الأكواد كود تصدير الاستعلام إلى اكسل في نفس مجلد البرنامج DoCmd.OutputTo acOutputQuery, "QueryName", acFormatXLSX, CurrentProject.Path & "\ExcelFileName.xlsx", False مع مراعاة تغيير اسم الاستعلام queryname واسم ملف الاكسل excelfilename كود الاستيراد من اكسل إلى جدول DoCmd.TransferSpreadsheet acImport, 8, "TableName", CurrentProject.Path & "\ExcelFileName.xlsx", True مع مراعاة تغيير اسم الجدول وملف الاكسل ومراعاة تطابق أسماء الأعمدة (وليست التسمية caption) في الجدول مع خلايا الصف الأول في ملف الاكسل وطبعا عدم تكرار قيم حقل المفتاح الأساسي ومعرفة أن الأعمدة التي لم يتم استيرادها ستكون فارغة بالتوفيق
  4. أشعر بشيء من عدم ترتيب الأفكار مادام الأمر به انتقاء لبعض الأعمدة لتصديرها وبعض الأعمدة لا تصدر فيجب إنشاء استعلام ثم تصدير هذا الاستعلام ماذا عن البيانات الموجودة في الجدول . هل يتم حذفها أم الإضافة عليها وتكرار السجلات وإذا تم حذفها ماذا عن الأعمدة التي لم يتم تصديرها. هل تظل فارغة بدون بيانات ؟ رجاء توضيح المطلوب بكل تفاصيله وأهدافه
  5. نعم هناك طرق كثيرة واختيار أحدها من خلال رؤية ملفك واحتياجاته
  6. إذا لم يفدك ردي السابق المختصر ربما يفيدك هذا الموضوع بالتوفيق
  7. يتم ذلك من خلال (تابع هذا القسم) الموجودة أسفل الموضوع في نسخة الموبايل واعلى يسار الموضوع في نسخة سطح المكتب ويمكن الوصول إليه من (المحتوى الذي أتابعه) في القائمة التي تخص المستخدم بالتوفيق
  8. هل تعني أن شرط + و yes ينطبق أيضا على E13 & E14؟ إذا كان هذا هو المطلوب فيمكن تغيير Elseif إلى End If If تم تحديث الكود السابق
  9. حتى يعمل أي كود على ويندوز 64بت نضع ptrsafe قبل function في الإعلان عن أي دالة من دالات النظام
  10. يمكنك أن تجعل مصدر عنصر التحكم =DSum("[dr]","tablee","[fdate] Between [Forms]![xx]![big] AND [Forms]![xx]![end]") بالتوفيق
  11. تفضل هذا ملفك بعد تعديل إجراء التسليم إلى ما يلي Sub Submit_Data() Dim iRow As Long, row As Long, sh As Worksheet If frmDataEntry.txtRowNumber.Value = "" Then Set sh = shDatabase iRow = sh.Range("A" & Rows.Count).End(xlUp).row + 1 Else If frmDataEntry.ComboBox7 = "Check OUT" Then Set sh = Sheet2 iRow = sh.Range("A" & Rows.Count).End(xlUp).row + 1 row = frmDataEntry.lstDatabase.List(frmDataEntry.lstDatabase.ListIndex, 0) + 1 ThisWorkbook.Sheets("Database").Rows(row).Delete Else Set sh = shDatabase iRow = frmDataEntry.txtRowNumber.Value End If End If With sh.Range("A" & iRow) .Offset(0, 0).Value = "=if(b" & iRow & "="""","""",Row()-1)" .Offset(0, 1).Value = frmDataEntry.TextBox1.Value .Offset(0, 2).Value = frmDataEntry.TextBox2.Value .Offset(0, 3).Value = frmDataEntry.TextBox3.Value .Offset(0, 4).Value = frmDataEntry.ComboBox1.Value .Offset(0, 5).Value = frmDataEntry.ComboBox2.Value .Offset(0, 6).Value = frmDataEntry.TextBox4.Value .Offset(0, 7).Value = frmDataEntry.TextBox5.Value .Offset(0, 8).Value = frmDataEntry.TextBox6.Value .Offset(0, 9).Value = frmDataEntry.TextBox7.Value .Offset(0, 10).Value = frmDataEntry.TextBox8.Value .Offset(0, 11).Value = frmDataEntry.ComboBox3.Value .Offset(0, 12).Value = frmDataEntry.ComboBox4.Value .Offset(0, 13).Value = frmDataEntry.ComboBox5.Value .Offset(0, 14).Value = frmDataEntry.ComboBox6.Value .Offset(0, 15).Value = frmDataEntry.TextBox9.Value .Offset(0, 16).Value = frmDataEntry.ComboBox7.Value End With If frmDataEntry.txtRowNumber.Value = "" Then MsgBox "Data Submitted Successfully!" Else MsgBox "Data updated Successfully!" End If Call Reset_Form Application.ScreenUpdating = True End Sub بالتوفيق program.xlsm
  12. بالنسبة للمطلوب الأول تحتاج فقط لملاءمة الطباعة في صفحة واحدة فقط وأسهل طريق لها في نافذة معاينة قبل الطباعة أو من اعداد الصفحة وبالنسبة للأرقام فهي فعلا يتم جلبها لصفحة الطباعة تلقائيا بسبب وجود معادلات البحث وبالنسبة للتاريخ في صفحة الطباعة فهو مضبوط وإذا كنت تقصد في صفحة إدخال البيانات فاستعمل في خلية اليوم =TEXT(TODAY(),"b2dd") وفي خلية الشهر =TEXT(TODAY(),"b2mm") وفي خلية العام =TEXT(TODAY(),"b2yyyy") بالتوفيق
  13. إن شاء الله يفيدك هذا الموضوع بالتوفيق
  14. ما شاء اللّه رائع بارك الله لك
  15. إن شاء اللّه يفيدك هذا الموضوع بالتوفيق
  16. تفضل أخي الكريم هذا اللغز من أفضل الألغاز التي قابلتها حيث استمرت المحاولات فيه يومين والحمد لله تم إنجازه إن شاء الله هذا الكود يقوم باللازم Sub mas_generateMsg() Dim SumH(1000) As Variant, SumV(1000) As Variant For i = 17 To Sheet3.Cells(Rows.Count, 5).End(xlUp).Row msg = "": frst = True: fw = Sheet3.Cells(i, 8) msg = msg & "عند خروج الفاتوره رقم " & Sheet3.Cells(i, 5) & " بتاريخ " & Format(Sheet3.Cells(i, 6), "yyyy/mm/dd") For c = 17 To Sheet2.Cells(Rows.Count, 6).End(xlUp).Row lw = Sheet2.Cells(c, 9) lot = IIf(fw - SumH(i) > lw, lw, fw - SumH(i)) mylot = IIf(lw - SumV(c) > lot, lot, lw - SumV(c)) If mylot > 0 And frst Then frst = False: msg = msg & " تم استخدام خامات من اللوت رقم " & Sheet2.Cells(c, 6) & " بوزن " & mylot ElseIf mylot > 0 And Not frst Then msg = msg & " وأيضا من اللوت رقم " & Sheet2.Cells(c, 6) & " بوزن " & mylot End If SumV(c) = SumV(c) + mylot: SumH(i) = SumH(i) + mylot Next c Sheet4.Range("g" & i + 9) = msg Next i MsgBox "Done by mr-mas.com" End Sub نفعنا الله جميعا بما علمنا وعلمنا ما ينفعنا
  17. يوجد في المنتدى الكثير من الشروح هذا جانب منها بالتوفيق
  18. يمكنك استعمال هذا الكود في حدث عند التغيير Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row > 8 And Target.Row < 17 And Target.Column = 5 Then Dim C As Range, a As Boolean, b As Boolean For Each C In Range("E9:E16") If InStr(C.Value, "Positive") And (C.Row = 13 Or C.Row = 14) Then If Not a Then Range("C13").Value = "Titer250": a = True End If If InStr(C.Value, "+") Or InStr(C.Value, "yes") Then If Not b Then Range("C10").Value = "Positive": b = True End If Next C If Not a Then Range("C13").Value = "Nil" If Not b Then Range("C10").Value = "Negative" End If End Sub بالتوفيق
  19. حسب فهمي للمطلوب تم وضع معادلة تحسب المتبقي على التاريخ (إذا كان بعد تاريخ اليوم) وتنسيق المدة ب data bar بالتوفيق تنسيق المتبقي على تاريخ.xlsx
  20. يمكنك استعمال الدالة val لتحصل على القيمة Range("e" & lrow).Value = Val(TextBox1.Value) Range("f" & lrow).Value = Val(TextBox2.Value) Range("g" & lrow).Value = Val(TextBox3.Value) بالتوفيق
  21. حماية الشيت تهدف إلى حماية المعادلات والرسوم وتنسيقات الخلايا من التغيير بل وربما من مجرد التحديد وغيرها من الخصائص التي تخص الخلايا حماية المصنف تمنع المستخدم من تغيير اسماء الشيتات او ترتيبها او الإضافة أو الحذف وغيرها من الخصائص العامة للشيت بالتوفيق
  22. تفضل هذا التعديل تم إضافة زر حذف السجل المحدد لنموذج اذن الصرف أو الايرادات ينشط هذا الزر بعد تحديد السجل المطلوب إرجاعه يتم حذف هذا الصف في جدول المبيعات أو المشتريات وتحديث حركة جرد الأصناف دون التأثير على الرصيد الافتتاحي فلا يجب تغييره أثناء المدة وتم تعديل مصدر الصف في االليست بوكس وكومبو بوكس الاصناف فلا تظهر غير الصفوف الموجودة فعلا وليس 1000 صف معظمها فارغ بالتوفيق الكافتيريا.xlsm
  23. المطلوب غير واضح لي هل تقصد حذف سجل معين من سجلات المبيعات وإعادة رصيد الصنف إلى ما كان عليه قبل عملية البيع ؟؟؟
  24. لا يوجد طريقة تجعل التذييل يظهر مباشرةً بعد آخر صف في الجدول إلا إذا اعتبرنا تعديل اعدادات الصفحة لتتناسب مع عدد الصفحات بدون هذا السطر حلا مناسبا فمثلا ظهرت السجلات في صفحتين وسجل واحد او اثنين في الصفحة الثالثة يتم ضبط اعدادات الصفحة page setup في جزء fit to صفحة 1 بالعرض و 2 بالطول بالتوفيق
×
×
  • اضف...

Important Information