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

أ / محمد صالح

أوفيسنا
  • Posts

    4,444
  • تاريخ الانضمام

  • Days Won

    192

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

  1. للأسف ما يظهر في الوورد هو الأصح لأن تنسيق الأرقام في الإكسل 00 لم يظهر الكسر لذلك يمكنك تعديل معادلة الشهر إلى =INT(I2*7.5/30+MOD(H2*3,12)) بأن تشمل دالة int العملية الحسابية كلها وكذلك تعديل معادلة اليوم إلى =INT(J2*0.25+MOD(I2*7.5,30)) بالتوفيق
  2. تفضل هذا هو المطلوب بإذن الله معادلة بسيطة جدا يمكنك التوصل إليها ضع في L2 المعادلة التالية ثم اسحب المعادلة لأسفل =J2+K2-SUMIF(A:A,I2,B:B) وتعني جمع الخلية k2 مع J2 مع طرح مجموع المستهلك في نفس التاريخ الموجود في I2 بدالة sumif بالتوفيق
  3. المعادلات المستعملة هي mod & int وهناتجها رقم صحيح بدون علامات عشرية ربما لو أرفقت الملفين الوورد والاكسل المستعملين في دمج المراسلات لعرفنا موضع المشكلة
  4. لا أدري ما سبب تكرار المواضيع حسب فهمي للمطلوب تم تعديل الكود ليقوم بنفس الترحيل حتى لو أكثر من صف يمكن وضع هذا الكود في مودبول جديد Sub tarheel() lr = Range("a4").End(xlDown).Row Set Sh = Sheets.Add With ActiveSheet .Move after:=Sheets(Sheets.Count) .Name = Sheets.Count - 1 .Range("A1:P12").Borders.Weight = xlMedium .Range("A1:P12").HorizontalAlignment = xlCenter With .Cells(1).Resize(1, 16) .Value = Array("ITEM NUMBER", "ITEM DESC", "QUANTITY", "UNIT PRICE", "TOTAL", "WHSE", "ACOUNT CODE", "BUSINESS UNIT", "DEPARTMENT", "WORK CENTER", "FLOCK", "ÚÏÏ ÇáØÈÇáí", "æÒä ÇáØÈíáÉ ", "ÚÏÏ 0.9", "", "ÚÏÏ 1.34") .Interior.ColorIndex = 53 .Font.Bold = True .Font.Color = vbWhite End With Dim sh1 As Worksheet Set sh1 = Sheets("main") For n = 5 To lr lr2 = .Cells(Rows.Count, 1).End(xlUp).Row + 1 .Range("A" & lr2) = sh1.Range("E" & n).Value .Range("C" & lr2) = sh1.Range("f" & n).Value .Range("D" & lr2) = sh1.Range("E" & n).Value .Range("F" & lr2 & ":K" & lr2).Value = Array("DAT010", "1141000022", "JP-PROD.", "JP-WIPDP", "JP-WIPWC", "Flock_4") .Range("N" & lr2) = sh1.Range("c" & n).Value .Range("P" & lr2) = sh1.Range("a" & n).Value + sh1.Range("b" & n).Value .Columns("A:P").EntireColumn.AutoFit Next n End With End Sub مع حذف الكود في حدث عند تغيير قيم الشيت main مع ربط الزر بالماكرو الجديد tarheel بالتوفيق
  5. كلامك صحيح أنا أستعمل التعبير في الاستعلام والتقرير بدلا من الحقل المحسوب في الجدول ولكن هذا ما يبحث عنه الأخ صاحب السؤال بالتوفيق
  6. يفضل إرفاق ملفك وتوضيح المطلوب أكثر من ذلك حسب فهمي للمطلوب في الملف والمختلف تماما عن المذكور في المشاركة إليك هذا المرفق بالتوفيق متابعة الأرصدة والاستهلاك.xls
  7. أقترح عمل حقل المسلسل الطبيعي ونوع بياناته autonumber ثم إضافة حقل محسوب في الجدول ونضع هذا في التعبير الخاص به "E" & 10000+[FileNo] حيث FileNo هو حقل المسلسل الطبيعي
  8. يمكنك استعمال هذه المعادلة في الخلية C2 =MROUND(A2,0.5) وهي تعمل على أةفيس 2007 فما فوق بالتوفيق
  9. المطلوب الثاني غير متعلق بالموضوع ويمكنك التوصل اليه بالبحث https://www.officena.net/ib/search/?q=إغلاق الاكسل بعد فترة&updated_after=any&sortby=relevancy&search_and_or=and بالتوفيق
  10. شكرا لكلماتك الطيبة أنا شخصيا لم اغير إلا فيما يحقق الشرط الخاص بك على اعتبار ان الكود يعمل معك قبل ذلك لذلك إذا كنت تقصد تحويل النص المكتوب في مربع النص إلى تاريخ يمكنك تعديل Me.TextBox16.Value في الشرط إلى cdate(Me.TextBox16.Value) تم تعديل الكود كاملا في المشاركة الأصلية بالتوفيق
  11. هل تقصد إغلاق الاكسل كله إذا لم يكن هناك مصنفات مفتوحة غير هذا المصنف؟
  12. احذف هذا السطر لأني قمت بالإعلان عن جميع المتغيرات في أول سطر والرسالة تعني تكرار إعلان عن متغير بالتوفيق
  13. يمكنك استعمال هذا الكود في حدث قبل إغلاق الملف Private Sub Workbook_BeforeClose(Cancel As Boolean) Sheets("Introduction").Range("G10") = "" Sheets("Introduction").Range("G12") = "" ThisWorkbook.Save End Sub وينبغي حفظ الملف بامتداد يسمح بالأكواد مثل xlsb بالتوفيق
  14. حسب فهمي للمطلوب أنك تريد تعديل جميع الصفوف التي يتساوى فيها عمود التاريخ مع التاريخ المكتوب في مربع النص مرة في شيت micro ومرة في شيت raw لذلك جرب تعديل كود زر الأمر إلى ما يلي: Private Sub CommandButton1_Click() Dim ws As Worksheet, we As Worksheet, lr As Long, iRow As Long, n As Long, k As Integer, m As Integer Set ws = Worksheets("micro") lr = ws.Cells(Rows.Count, 6).End(xlUp).row For n = 1 To lr If ws.Cells(n, 6).Value = CDate(Me.TextBox16.Value) Then ws.Cells(n, 13).Value = Me.TextBox10.Value ws.Cells(n, 14).Value = Me.TextBox11.Value ws.Cells(n, 15).Value = Me.TextBox12.Value ws.Cells(n, 16).Value = Me.TextBox13.Value ws.Cells(n, 17).Value = Me.TextBox14.Value ws.Cells(n, 18).Value = Me.TextBox15.Value For k = o To ListBox2.ListCount If ListBox2.Selected(k) = True Then ws.Cells(n, 11).Value = ListBox2.List(k, 0) Exit For On Error Resume Next End If Next k End If Next n Set we = Worksheets("Raw") iRow = we.Cells(Rows.Count, 6).End(xlUp).Offset(1, 0).row For m = 1 To iRow If we.Cells(m, 6).Value = CDate(Me.TextBox16.Value) Then we.Cells(m, 16).Value = Me.TextBox10.Value we.Cells(m, 17).Value = Me.TextBox11.Value we.Cells(m, 18).Value = Me.TextBox12.Value we.Cells(m, 19).Value = Me.TextBox13.Value we.Cells(m, 20).Value = Me.TextBox14.Value we.Cells(m, 21).Value = Me.TextBox15.Value For k = o To ListBox2.ListCount If ListBox2.Selected(k) = True Then we.Cells(m, 11).Value = ListBox2.List(k, 0) Exit For On Error Resume Next End If Next k End If Next m End Sub لاحظ استعمال حلقة تكرارية لكل خلايا العمود F ورقمه 6 واستعمال المتغير N & M للتعبير عن رقم الصف الذي تساوت فيه القيم بالتوفيق
  15. تقريبا الخطأ في أن الشرط في زر الحفظ والتعديل هو If C Like TextBox6.Value & "*" Then وهذا يعني أن الخلية تشبه الرقم وبعده أي رقم آخر * وربما يكون الصواب If c = Val(Me.TextBox6) Then وهو يعني تساوي الرقم مع الرقم المكتوب في مربع النص بالتوفيق
  16. المطلوب غير واضح لي هل تقصد: إذا تساوت قيمة خلية في العمود f في الشيت micro يتم الترحيل في نفس الصف الذي تساوت فيه (طبعا في شيت micro) ولا يقوم بالترحيل في شيت raw وإذا تساوت قيمة خلية في العمود f في الشيت raw يتم الترحيل في نفس الصف الذي تساوت فيه ولا يقوم بالترحيل في شيت micro ؟؟؟
  17. تفضل هذا ملفك بعد التعديل لاحظ استعمال المعادلة في جلب اسم مالك الشقة بدلا من كتابته واستعمال رقم الصف كبديل للترقيم وتغيير تنسيق التاريخ والأرقام بالتوفيق مصروفات وايرادات1.xlsm
  18. الملف به كود يقوم بالترحيل إلى أول صف فارغ بعد المكتوب في شيت micro وشيت raw هل المطلوب تعديل الترحيل في شيت micro فقط إذا تساوى التاريخ في العمود f مع مربع نص التاريخ؟ مع الترحيل إلى آخر صف في شيت raw أم أنه لا يتم الترحيل في الاثنين إلا إذا تساوى التاريخ؟
  19. لظهور الأقواس مضبوطة ينبغي التأكد من اتجاه المستند من اليمين لليسار وكذلك اتجاه الكتابة (إذا كانت لغة الكتابة عربية) وإذا أردت الاستبدال بعد ذلك فعليك بالآتي : استبدال القوس الأول إلى رمز غريب غير مستعمل في المستند مثل # مع تنفيذ استبدال الكل استبدال القوس الثاني إلى القوس الأول مع تنفيذ استبدال الكل استبدال الرمز الغريب إلى القوس الثاني مع استبدال الكل بالتوفيق
  20. أخي الفاضل في حدث عند فتح المصنف راجع هذا السطر Select Case MBSerialNumber وهو لاختبار حالات المتغير MBSerialNumber الذي تنتجه الدالة المعرفة MBSerialNumber الموجودة في الموديول المنفصل فإذا كانت MBSerialNumber مثل واحدة من strMB1, strMB2, strMB3 لا يفعل شيئا ويستمر في فتح المصنف وإذا كانت غير ذلك يغلق المصنف مع حفظ التغييرات بالتوفيق
  21. يمكنك استعمال هذا الكود في حدث عند الضغط على الزر Private Sub CommandButton1_Click() Dim iRow As Long, Lastrow As Long, i As Long With ورقة1 Lastrow = .Cells(.Rows.Count, 7).End(xlUp).Row For r = 3 To Lastrow If .Cells(r, 7) = TextBox1.Value Then iRow = .Cells(Rows.Count, 4).End(xlUp).Offset(1, 0).Row .Cells(iRow, 3).Value = Me.TextBox1.Value .Cells(iRow, 4).Value = Me.TextBox2.Value MsgBox " لقد تم الترحيل بنجاح ", vbExclamation + vbMsgBoxRight, "تم الترحيل " GoTo 1 End If Next End With MsgBox "لايوجد هذا الاسمً ", vbInformation + vbMsgBoxRight, "تنبيه" 1: TextBox1.Value = "" TextBox2.Value = "" TextBox1.SetFocus End Sub بالتوفيق
  22. بالنسبة لموضوع التنسيق الشرطي يمكنك كتابة نفس الشروط التي استعملتها على العمود L الذي تظهر فيه حالة العقد
  23. لا أدري أين المشكلة عندك ولكن إذا كنت تريد تطبيق ذلك على ملف آخر بامتداد xlsb أولا تفتح شاشة الفيجوال بيسك داخل اكسل ثم تضيف موديول جديد وتلصق فيه الكود الذي يتحقق من رقم الماذربورد Function MBSerialNumber(Optional strComputer As String = ".") As String Dim v, vName, vUUID With GetObject("winmgmts:\\" & strComputer & "\root\cimv2") For Each v In .ExecQuery("SELECT * FROM Win32_ComputerSystemProduct", , 48) vName = v.Name: vUUID = v.UUID Next v End With MBSerialNumber = vName & ", " & vUUID End Function ثم تضغط دبل كلك على thisworkbook وتلصق هذا الكود في حدث عند فتح الملف Private Sub Workbook_Open() Dim strMB1 As String, strMB2 As String, strMB3 As String 'Put Your MotherBoard Serial strMB1 = "HP ProDesk 490 G1 MT, FF004080-EE39-11E3-BFF8-A0D3C13F35B2" strMB2 = "HP Compaq 8500 Elite SFF PC, BFDEF800-AF9A-11E0-0000-2C27D742989F" strMB3 = "HP Compaq 8500 Elite SFF PC, BFDEF800-AF9A-11E0-0000-2C27D742989F" Select Case MBSerialNumber Case strMB1, strMB2, strMB3 Exit Sub Case Else MsgBox ("Data Security Failure. This Workbook Will Close") ActiveWorkbook.Close 1 End Select End Sub ثم تقوم بحفظ التغييرات وتغلق وتفتح الملف مرة أخرى بالتوفيق
  24. كود جميل جدا ولكن أنا شخصيا لا أدخل أهتم بموضوع أو استفسار لا يرفق معه صاحبه مثالا على المطلوب مع توضيح المطلوب بمنتهى الدقة والتفاصيل والنتائج المتوقعة عيدكم مبارك
  25. إذا كنت تقصد المعادلة في الخلية M18 فهذه تأتي بمعادلة البحث المستعملة في الشيت =VLOOKUP(D3,B26:L61,11,0) لأن خلية حالة العقد في الجدول بالأسفل تعتمد على خلية أخرى هي خلية سداد مبكر بتاريخ بالتوفيق
×
×
  • اضف...

Important Information