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

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    196

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

  1. إحدى الفوائد اختصار المعادلات وسهولة تسمية النطاق باسم يعبر عن مضمونها مثلا قائمة الأصناف موجودة في sheet1!a5:a40 فيمكن تسمية هذا النطاق products وبدلا من كتابتة هذا النطاق في المعادلة نكتب كلمة products بالتوفيق
  2. كما أخبرتك سابقا نطاقات مسماة
  3. ربما تكون نطاقات مسماة named ranges الموجودة في تبويب الصيغ formulas ضمن إدارة الأسماء name manager لو أرفقت الملف الذي به هذه المعادلة ربما نصل لليقين بالتوفيق
  4. جميعا بإذن الله
  5. المتاح أن تضيف النص الذي في textbox قبل التصدير pdf لكن العكس يلزمك برامج تحرير بي دي اف وتدعم العمل عليها من خلال vba أو من خلال سطر الأوامر cmd بالتوفيق
  6. آمين ولك بمثل ما دعوت وزيادة
  7. أخي الكريم يفضل ذكر كل التفاصيل المتاحة لديك حتي يتم الوصول للحل المطلوب بمنتهى السهولة وعلى مرة واحدة لكن تجزئة المعطيات تؤدي إلى حلول غير مطلوبة حسب فهمي للمطلوب أنك تريد * وضع تسلسل يبدأ من الصف الثاني * إلى آخر صف مكتوب فيه في العمود b وليس إلى 10 * والكود يتم تطبيقه من الأكسس على كائن الشيت النشط يمكنك استعمال هذا الكود Dim I As Integer For I = 2 To .range("b" & .rows.count).end(3).row .Range("A" & I).Value = I-1 Next I بالتوفيق
  8. يمكنك استعمال هذا التعديل Dim I As Integer For I = 2 To 11 Range("A" & I).Value = I-1 Next I بالتوفيق
  9. يمكنك استعمال هذا الكود في حدث عند تغيير التحديد Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 5 Or Target.Column = 7 Then Range("ad2").Value = Target.Value End If End Sub وهذا ملفك بعد إضافة الكود وتغيير الامتداد بالتوفيق Select.xlsb
  10. عليكم السلام ورحمة الله وبركاته * بالنسبة للمطلوب الأول لا يمكن استخدام كالندر داخل الخلايا ممكن في يوزرفورم ولكن يمكنك جعل تنسيق خلية التاريخ dddd dd mmmm yyyy سيظهر اسم اليوم واسم الشهر مع التاريخ ويمكنك الاستغناء عن عمود اليوم * وبالنسبة لكتابة جميع تواريخ الشهر يمكنك في الخلية B5 كتابة المعادلة التالية =B4+1 مع نسخ المعادلة لأسفل * وبالنسبة لموضوع منع التكرار يمكن استعمال التنسيق الشرطي وتلوين الصفين المكررين وهذا ملفك بعد تنفيذ مقترحاتي بالتوفيق برنامج حجز قاعات 2021.xlsx
  11. الشكر لله الذي هدانا لهذا
  12. للأسف أخي الكريم طريقتك تقارن بين قيمة الخلية والخلية b4 فقط ولا تقارن بين الخلية في العمود A وخلية العمود b التي تجاورها
  13. بالنسبة لكود معاينة الطباعة ActiveSheet.PrintPreview وبالنسبة لكود طباعة الشهادات دفعة واحدة فهذا يتوقف على طريقة جلبك للبيانات من شيت البيانات الأساسية وبعد فحص ملفك لم أجد أي طريقة محددة لجلب بيانات الشهادات لذا ربما تفيدك هذه الموضوعات في معرفة طرق جلب البيانات حسب المسلسل أو رقم الجلوس أو الاسم https://www.officena.net/ib/search/?q=طباعة الشهادات&quick=1&type=forums_topic&nodes=135&search_and_or=and بالتوفيق
  14. يمكنك استعمال هذه المعادلة في الخلية D6 مع نسخ المعادلة يمينا لنهاية الشهر =IFERROR(IF(OR(COUNT($C5:C5)<1,D5-MAX($C5:C5)<0),"",D5-MAX($C5:C5)),"") ويمكن نسخ الخلية D6 إلى D8 لنسخ المعادلة وهذا ملفك بعد التعديل بالتوفيق كشف الفواتير للمركبات - بوقصي 9-2021 تجارب.xlsm
  15. هذا المطلوب لا يتم بالمعادلات لابد من تدخل جراحي (vba) يمكنك استعمال هذا الكود في حدث عند التغيير Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row = 3 And Target.Column >= 1 And Target.Column <= 3 And Evaluate("=counta(a3:d3)") = 4 Then lr1 = Cells(Rows.Count, 1).End(3).Row + 1 lr1 = IIf(lr1 < 4, 4, lr1) lr2 = Cells(Rows.Count, 12).End(3).Row + 1 Range("a" & lr1 & ":d" & lr1).Value = Range("a3:d3").Value Range("l" & lr2 & ":o" & lr2).Value = Range("a3:d3").Value Range("a3:c3").ClearContents End If End Sub وهذا ملفك بعد إضافة الكود وتغيير الامتداد 555.xlsb
  16. عليكم السلام و رحمة الله وبركاته الجزء الثاني من المطلوب غير منطقي حيث سيظل الكود في حلقة من الأحداث لا تنتهي فمثلا تم تغيير الدور الاول إلى الثالث فيفترض من الكود أن يبحث عن موظف الدور الثالث ويضعه في الدور الأول وحينها يتم استدعاء كود حدث التغيير لأن خلية الدور الثالث تغيرت في العمود E وساعتها يبدأ في البحث وهكدا والحل في هذه المشكلة كتابة التغيير المطلوب في العمود G مثلا بالكود ويتم كتابته مرة أخرى يدويا في العمود E مع تعديل حدث التغيير إلى هذا الكود Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("e8:e100")) Is Nothing Then Exit Sub lr = Range("h" & Rows.Count).End(xlUp).Row + 1 Cells(lr, "h") = Target.Offset(0, -2) Cells(lr, "i") = [k1] Cells(lr, "j") = Target.Value lr1 = Range("e" & Rows.Count).End(xlUp).Row If Target.Offset(0, 2) = "" Then For n = 8 To lr1 If n <> Target.Row And Cells(n, 5) = Target.Value And Cells(n, 4) = Target.Offset(0, -1) And Cells(n, 6) <> "راحة" Then Cells(n, 7) = [k1] Next n Else Target.Offset(0, 2) = "" End If End Sub بالتوفيق
  17. يمكنك استعمال هذه المعادلة في التنسيق الشرطي =AND(A4<>"",A4<B4) وتقوم باختيار التعبئة أو اللون المرغوب ويتم تطبيقها على. العمود A مثلا أو أي خلايا منه وإذا أردت تمييز الخلايا التي تساوي المتوقع أو أكبر يمكن استعمال هذه المعادلة =AND(A4<>"",A4>=B4) بالتوفيق
  18. لإضافة دالة معرفة udf نفتح نافذة محرر vba بالضغط alt+f11 من قائمة insert نختار module نلصق هذا الكود واستخدامها في اكسل مثل استخدام ifs ولكن نكتب masifs بالتوفيق
  19. الأسهل تصدير الملف بصيغة xlsx أو csv من خادم قاعدة البيانات ويمكن استعمال هذه الصفحة لتحويل الملف إلى اكسل https://www.convertcsv.com/sql-to-csv.htm بالتوفيق
  20. يمكنك استعمال هذه الدالة المعرفة Public Function MasIfs(ParamArray args() As Variant) As Variant Dim i As Integer Do Until CBool(args(i)) Or (i >= UBound(args)) i = i + 2 Loop If i < UBound(args) Then MasIfs = args(i + 1) End Function بالتوفيق
  21. الأفضل من وجهة النظر البرمجية أن تبقى هذه صفحة بيانات وتنشئ صفحة جديدة يتم عرض نتائج أول 26 صفا ثم ثاني 26 صفا بكتابة رقم الصفحة في خلية ومعادلات البحث تجلب لك النتائج مثل هذا الموضوع بالتوفيق
  22. آمين ولك مثل ما دعوت وزيادة
×
×
  • اضف...

Important Information