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

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    198

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

  1. ترجمة هذه الرسالة : مايكروسوفت اكسل لا يمكن مشاركة هذا المصنف لأنه يحتوي على جداول Excel أو خرائط XML. لمشاركة هذا المصنف ، قم بتحويل الجداول إلى نطاقات وإزالة خرائط XML. لتحويل جدول إلى نطاق ، حدد الجدول ، ثم في علامة التبويب تصميم ، في المجموعة أدوات ، انقر فوق تحويل إلى نطاق. لإزالة خرائط XML ، استخدم جزء مهام مصدر XML (في علامة التبويب المطور ، في مجموعة XML ، انقر فوق الزر المصدر). لعرض علامة التبويب المطور ، انقر فوق علامة التبويب ملف ، وانقر فوق خيارات ، وانقر فوق تخصيص الشريط ، ثم ضمن علامات التبويب الرئيسية ، حدد خانة الاختيار المطور ،
  2. انا شخصيا اعالجها كالتالي : جدول الأصناف يحتوي على سعر الشراء وهو آخر سعر شراء وسعر البيع وهو آخر سعر بيع يتم تحديثهم (بالكود) من آخر فاتورة شراء حيث تحتوي على سعر الشراء وسعر البيع التي يملاها المستخدم نأتي في فاتورة البيع عندما يتم تحديد الصنف يتم جلب سعر البيع وتسجيله في حقل سعر الوحدة في تفاصيل فاتورة البيع (بالكود طبعا) وبهذا تكون جميع الفواتير تحتوي على سعر البيع وقتها بدون التأثر بآخر سعر الموجود في جدول الأصناف والله اعلم
  3. المشكلة في هذا الجزء الذي ينسخ محتويات الاستعلام ويضعها في الخلية A6 في الشيت الحالي وحسب كلامك ينبغي معرفة آخر صف في شيت find ثم النسخ بعده sheets("find").range("a" & sheets("find").range("a" & rows.count).end(xlup).row + 1). CopyFromRecordset Recordset بالتوفيق
  4. هل المقصود عدد مرات تكرار رقم الأستاذ في شيت توزيع الحراسة ؟؟ إذا كان هذا هو المقصود فيمكنك استخدام عمود c لرقم الأستاذ ثم إخفائه قبل الطباعة إن أردت واستعمال الدالة countif للعد بشرط وهذا ملفك بعد هذا التعديل حساب مجموع فترات الحراسة.xlsm
  5. طبيعي جدا ألا يعمل الكود وأنت وضعته في موديول جديد هو فقط تعديل لكود الطباعة بطريقة أخرى: يوجد في كود الطباعة السطرين الخاصين بالتصدير إلى pdf والطباعة R.ExportAsFixedFormat Type:=xlTypePDF, Filename:="e:\pdf\" & "\" & fil_name sh.Range("a1:h30").PrintOut استبدلهما بما سبق يعني ضع قبلهما سطرين If [h1] = "" Then pp: وضع بعدهما الباقي [h1] = [h1] + 1 Else m = MsgBox("تمت الطباعة قبل ذلك" & Chr(10) & "هل تريد الطباعة مرة أخرى", vbYesNo, "تنبيه") If m = 6 Then GoTo pp End If وطبعا هذا على كلامك السابق لكن بعد تحديد (على أساس رقم المستند ) فالموضوع سيختلف تماما وهذا كود إجراء الطباعة والتصدير كاملا module4 Sub RectangleRoundedCorners222_Click() 'On Error Resume Next 'Sheets("حساب").Range("A1:h10").ExportAsFixedFormat xlTypePDF, Filename:="e:\pdf\" & Sheets("حساب").Range("b3").Value & Sheets("حساب").Range("a3").Value, openafterpublish:=True Dim sh As Worksheet Dim R Dim fil_name Set sh = ThisWorkbook.Worksheets("حساب") fil_name = sh.Range("b3") & " " & sh.Range("a3") Set R = sh.Range("a1:h10") If IsError(Application.Match(Range("a3"), Range("i:i"), 0)) Then pp: R.ExportAsFixedFormat Type:=xlTypePDF, Filename:="e:\pdf\" & "\" & fil_name & ".pdf" sh.Range("a1:h30").PrintOut Range("i" & Range("i" & Rows.Count).End(xlUp).Row + 1).Value = [a3] Else m = MsgBox("تمت الطباعة قبل ذلك" & Chr(10) & "هل تريد الطباعة مرة أخرى", vbYesNo, "تنبيه") If m = 6 Then GoTo pp End If End Sub بالتوفيق
  6. ينبغي علينا أولا فهم الكود الخاص بك أخي الكريم معنى الكود أنك تبتصل ب 17 قاعدة بيانات جميعها باسم Database#01.accdb وموجودة في 17 مجلد اسم المجلد هو الخلايا من b2 إلى b18 ثم تستعلم من قاعدة البيانات وتضع ناتج الاستعلام في نفس الخلية a6 هل فهمي للكود صحيح؟ وما المطلوب تصحيحه ؟
  7. جرب هذا التعديل: If [h1] = "" Then pp: R.ExportAsFixedFormat Type:=xlTypePDF, Filename:="e:\pdf\" & "\" & fil_name sh.Range("a1:h30").PrintOut [h1] = [h1] + 1 Else m = MsgBox("تمت الطباعة قبل ذلك" & Chr(10) & "هل تريد الطباعة مرة أخرى", vbYesNo, "تنبيه") If m = 6 Then GoTo pp End If وهو يقوم بإظهار رسالة إذا تم تفيير قيمة الخلية h1 إذا تمت الطباعة قبل ذلك
  8. شكرا لكلماتك الطيبة خالص دعواتي بالتوفيق أخوك محمد صالــــــح
  9. من تبويب إدراج insert اختر wordart
  10. مقترح جميل وللوصول إلى هذا يلزمنا: * تعديل سطر رابط الملف في الكود إلى wmp.Url = ThisWorkbook.Path & "\" & "mp3" & "\" & ListBox1.Value & ".mp3" للاحظ أنه يقرأ قيمة العنصر المجدد وليس فهرسه * وكذلك يلزمنا تغيير خاصية rowsource الخاصة بالقائمة إلى =INDIRECT("a1:a"&COUNTA(A:A)) وتعني تحديد الخلايا المكتوب فيها فقط في العمود a ويمكنك كتابة أسماء الملفات بصورة نصية أيضا مثل سورة كذا
  11. بالتوفيق للجميع هكذا يستمر صرح العطاء بلا مقابل ابتغاء وجه الله
  12. خدمة الترجمة في جميع تطبيقات ميكروسوفت اوفيس من وإلى كل اللغات المدعوم في ترجمة Bing
  13. ممكن تستعمل برنامج pdffill PDF tools تستعمل ميزة التقسيم split لأول 3 صفحات ثم دمج الجميع في ملف واحد ثم طباعته
  14. ممكن ب word art بس اهم شيء نوع الخط
  15. عليكم السلام ورحمة الله وبركاته هذا الأمر يتم بالكود لذا يلزمك: * تغيير امتداد الملف لصيغة تدعم الكود مثل xlsb & xlsm * كتابة اسم الملف وامتداده في عمود اسم الملف * استعمال الدالة FileCopy source, destination للنسح * استعمال الدالة Name source as destination للنقل * ربط الماكرو بالزر وهذا ملفك بعد تنفيذ جميع هذه الملحوظات بالتوفيق copy and cut files.xlsb
  16. للأسف لم أجد شيئا يخص عند انتهاء تشغيل الملف يقوم بعمل كذا فقمت بإعادة هيكلة الكود من جديد إن شاء الله يكون المطلوب لا تنس ان تشاركنا هذا الإبداع عند اكتماله وفقنا الله جميعا لكل ما يحبه ويرضاه test.rar
  17. أخي الكريم لم أفهم مقصودك من السؤال استدعاء الدالة يكون بكتابة اسمها وتمرير رقم id لها فقط CapText(1) أو أي رقم تريده وطبعا ناتج الدالة عبارة عن النص المخزن في الجدول تضعه في أي مكان تريده سواء مربع نص أو تسمية أو زر أو تقرير أو أي شيء ربما إذا أوضحت مقصودك نتوصل للجواب
  18. يوجد حلط بين مفهوم الدالة fimction والإجراء sub وخلاصة الفرق بينهما : الدالة تقوم بإرجاع قيمة بأي نوع من أنواع البيانات الإجراء لا يرجع قيمة وإنما يتم تنفيذ مجموعة من الأوامر تباعا ******* وفي حالتك هذه يمكنك استعمال هذه الدالة Public function CapText(ID As Integer) as string CapText = DLookup("[txtMessageText]", "[tblMessages]", "[txtAutoIntMessageID] =" & ID) End function إذا كنت تريد أن تجعل مثلا عنوان الزر هو ناتج الدالة تستعمل هذا الكود button1.caption = CapText(1) إذا كنت تريد أن تجعل مثلا عنوان الليبل هو ناتج الدالة تستعمل هذا الكود label1.caption = CapText(2) بالتوفيق
  19. بإذن الله يكون هذا هو المطلوب تفضل test1.xlsm
  20. إن شاء الله تقوم هذه المعادلة بالغرض =IF(A1<C1,IF(FLOOR.MATH(A1,10)=FLOOR.MATH(C1,10),C1,""),"")
  21. فكرة جميلة وبسيطة بانتظار جديدك أستاذ عصام
  22. المطلوب غير واضح لي بصورة كافية ومحاولات الأستاذ جعفر ناتجة عن عدم وضوح المطلوب له أيضا وحسب فهمي للمطلوب: فأنت لا تريد دالة وإنما تريد إجراء sub تعطي له رقم id يعرض لك رسالة msgbox إن كان هذا هو المطلوب فجرب هذا الإجراء Public Sub MSG(ID As Integer) Dim Message As String, TItle As String Message = DLookup("[txtMessageText]", "[tblMessages]", "[txtAutoIntMessageID] =" & ID) TItle = DLookup("[txtMessageTitle]", "[tblMessages]", "[txtAutoIntMessageID] =" & ID) MsgBox Message, , TItle End Sub وهذه طريقة استدعائه في البرنامج Sub mas() MSG (1) End Sub أرجو أن يكون هو المطلوب
  23. شكرا لجميع المشاركين ومن الواضح من استفسارات الأصدقاء هو عدم وضوح فكرة البرنامج لهم حيث أن الفكرة تعالج القصور الموجود في تخزين معلومات التسجيل في جدول يمكن تعديله أو في ملف في السي أيضا يمكن تعديله لذلك تم الاعتماد على الريجيستري وأيضا طريقة ربط البرنامج بالجهاز مرنة جدا بحيث يمكن استخدام رقم الهارد ديسك أو البروسيسيور أو الماذربورد أو أي شي تريده. وأنا غير مسئول عن أكواد أخرى يستعملها البعض ولا تجلب أرقام الهارد أو البروسيوسور أو غيره أنا مسئول فقط عن أكوادي التي استعملتها في البرنامج. أخيرا وليس آخرا جعلنا الله جميعا من الذين يعاونون على التطور وليس من المثبطين الهمم آمين آمين آمين
  24. لا يوجد مشكلة abdalrazag هذا هو الطبيعي في عمل البرنامج وبعد 3 ايام جرب أن تفتح البرنامج أي بعد انتهاء المدة للعلم البرنامج يعمل مع جميع إصدارات الويندوز وجميع إصدارات الأوفيس
×
×
  • اضف...

Important Information