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

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    196

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

  1. كما أخبرتك سابقا نطاقات مسماة
  2. ربما تكون نطاقات مسماة named ranges الموجودة في تبويب الصيغ formulas ضمن إدارة الأسماء name manager لو أرفقت الملف الذي به هذه المعادلة ربما نصل لليقين بالتوفيق
  3. جميعا بإذن الله
  4. المتاح أن تضيف النص الذي في textbox قبل التصدير pdf لكن العكس يلزمك برامج تحرير بي دي اف وتدعم العمل عليها من خلال vba أو من خلال سطر الأوامر cmd بالتوفيق
  5. آمين ولك بمثل ما دعوت وزيادة
  6. أخي الكريم يفضل ذكر كل التفاصيل المتاحة لديك حتي يتم الوصول للحل المطلوب بمنتهى السهولة وعلى مرة واحدة لكن تجزئة المعطيات تؤدي إلى حلول غير مطلوبة حسب فهمي للمطلوب أنك تريد * وضع تسلسل يبدأ من الصف الثاني * إلى آخر صف مكتوب فيه في العمود 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 بالتوفيق
  7. يمكنك استعمال هذا التعديل Dim I As Integer For I = 2 To 11 Range("A" & I).Value = I-1 Next I بالتوفيق
  8. يمكنك استعمال هذا الكود في حدث عند تغيير التحديد 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
  9. عليكم السلام ورحمة الله وبركاته * بالنسبة للمطلوب الأول لا يمكن استخدام كالندر داخل الخلايا ممكن في يوزرفورم ولكن يمكنك جعل تنسيق خلية التاريخ dddd dd mmmm yyyy سيظهر اسم اليوم واسم الشهر مع التاريخ ويمكنك الاستغناء عن عمود اليوم * وبالنسبة لكتابة جميع تواريخ الشهر يمكنك في الخلية B5 كتابة المعادلة التالية =B4+1 مع نسخ المعادلة لأسفل * وبالنسبة لموضوع منع التكرار يمكن استعمال التنسيق الشرطي وتلوين الصفين المكررين وهذا ملفك بعد تنفيذ مقترحاتي بالتوفيق برنامج حجز قاعات 2021.xlsx
  10. الشكر لله الذي هدانا لهذا
  11. للأسف أخي الكريم طريقتك تقارن بين قيمة الخلية والخلية b4 فقط ولا تقارن بين الخلية في العمود A وخلية العمود b التي تجاورها
  12. بالنسبة لكود معاينة الطباعة ActiveSheet.PrintPreview وبالنسبة لكود طباعة الشهادات دفعة واحدة فهذا يتوقف على طريقة جلبك للبيانات من شيت البيانات الأساسية وبعد فحص ملفك لم أجد أي طريقة محددة لجلب بيانات الشهادات لذا ربما تفيدك هذه الموضوعات في معرفة طرق جلب البيانات حسب المسلسل أو رقم الجلوس أو الاسم https://www.officena.net/ib/search/?q=طباعة الشهادات&quick=1&type=forums_topic&nodes=135&search_and_or=and بالتوفيق
  13. يمكنك استعمال هذه المعادلة في الخلية D6 مع نسخ المعادلة يمينا لنهاية الشهر =IFERROR(IF(OR(COUNT($C5:C5)<1,D5-MAX($C5:C5)<0),"",D5-MAX($C5:C5)),"") ويمكن نسخ الخلية D6 إلى D8 لنسخ المعادلة وهذا ملفك بعد التعديل بالتوفيق كشف الفواتير للمركبات - بوقصي 9-2021 تجارب.xlsm
  14. هذا المطلوب لا يتم بالمعادلات لابد من تدخل جراحي (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
  15. عليكم السلام و رحمة الله وبركاته الجزء الثاني من المطلوب غير منطقي حيث سيظل الكود في حلقة من الأحداث لا تنتهي فمثلا تم تغيير الدور الاول إلى الثالث فيفترض من الكود أن يبحث عن موظف الدور الثالث ويضعه في الدور الأول وحينها يتم استدعاء كود حدث التغيير لأن خلية الدور الثالث تغيرت في العمود 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 بالتوفيق
  16. يمكنك استعمال هذه المعادلة في التنسيق الشرطي =AND(A4<>"",A4<B4) وتقوم باختيار التعبئة أو اللون المرغوب ويتم تطبيقها على. العمود A مثلا أو أي خلايا منه وإذا أردت تمييز الخلايا التي تساوي المتوقع أو أكبر يمكن استعمال هذه المعادلة =AND(A4<>"",A4>=B4) بالتوفيق
  17. لإضافة دالة معرفة udf نفتح نافذة محرر vba بالضغط alt+f11 من قائمة insert نختار module نلصق هذا الكود واستخدامها في اكسل مثل استخدام ifs ولكن نكتب masifs بالتوفيق
  18. الأسهل تصدير الملف بصيغة xlsx أو csv من خادم قاعدة البيانات ويمكن استعمال هذه الصفحة لتحويل الملف إلى اكسل https://www.convertcsv.com/sql-to-csv.htm بالتوفيق
  19. يمكنك استعمال هذه الدالة المعرفة 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 بالتوفيق
  20. الأفضل من وجهة النظر البرمجية أن تبقى هذه صفحة بيانات وتنشئ صفحة جديدة يتم عرض نتائج أول 26 صفا ثم ثاني 26 صفا بكتابة رقم الصفحة في خلية ومعادلات البحث تجلب لك النتائج مثل هذا الموضوع بالتوفيق
  21. آمين ولك مثل ما دعوت وزيادة
  22. أخي الكريم بالنسبة لموضوع الاستعداد للكتابة فتحديد الخلية المشار إليها سابقا مني تكفي وبالنسبة لموضوع setfocus أو focus فهذه تستخدم مع عناصر التحكم في النموذج وليس مع الخلايا في الشيت
  23. الموضوع ممكن باستخدام دوال الويندوز لكن إذا سمحت لي ما الفائدة العملية من إجراء مثل هذا؟ نقل مؤشر الفارة فوق خلية معينة
×
×
  • اضف...

Important Information