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

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    198

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

  1. يمكنك استعمال هذه المعادلة في التنسيق الشرطي =AND(A4<>"",A4<B4) وتقوم باختيار التعبئة أو اللون المرغوب ويتم تطبيقها على. العمود A مثلا أو أي خلايا منه وإذا أردت تمييز الخلايا التي تساوي المتوقع أو أكبر يمكن استعمال هذه المعادلة =AND(A4<>"",A4>=B4) بالتوفيق
  2. لإضافة دالة معرفة udf نفتح نافذة محرر vba بالضغط alt+f11 من قائمة insert نختار module نلصق هذا الكود واستخدامها في اكسل مثل استخدام ifs ولكن نكتب masifs بالتوفيق
  3. الأسهل تصدير الملف بصيغة xlsx أو csv من خادم قاعدة البيانات ويمكن استعمال هذه الصفحة لتحويل الملف إلى اكسل https://www.convertcsv.com/sql-to-csv.htm بالتوفيق
  4. يمكنك استعمال هذه الدالة المعرفة 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 بالتوفيق
  5. الأفضل من وجهة النظر البرمجية أن تبقى هذه صفحة بيانات وتنشئ صفحة جديدة يتم عرض نتائج أول 26 صفا ثم ثاني 26 صفا بكتابة رقم الصفحة في خلية ومعادلات البحث تجلب لك النتائج مثل هذا الموضوع بالتوفيق
  6. آمين ولك مثل ما دعوت وزيادة
  7. أخي الكريم بالنسبة لموضوع الاستعداد للكتابة فتحديد الخلية المشار إليها سابقا مني تكفي وبالنسبة لموضوع setfocus أو focus فهذه تستخدم مع عناصر التحكم في النموذج وليس مع الخلايا في الشيت
  8. الموضوع ممكن باستخدام دوال الويندوز لكن إذا سمحت لي ما الفائدة العملية من إجراء مثل هذا؟ نقل مؤشر الفارة فوق خلية معينة
  9. هل تقصد نقل التركيز ؟ يعني المستطيل الغامق حول الخلية النشطة أم فعلا تقصد سهم مؤشر الفارة بغض النظر عن الخلية المحددة إذا كان المقصود الأول فيمكنك استعمال Range("a1").select حيث a1 هي الخلية المراد الانتقال إليها
  10. الشكر لله الذي بنعمته تتم الصالحات
  11. تفضل تم إجراء تعديلين المدى الذي يتم مسحه والعمود F وما بعده بالتوفيق Search++ - Copy.xlsm
  12. إن شاء اللّه يفيدك هذا الكود Sub mas() Application.ScreenUpdating = 0 Dim lr1 As Long, lr2 As Long, r As Long, c As Long, n As Long lr1 = Sheet1.Cells(Rows.Count, 1).End(3).Row lr2 = Sheet2.Cells(Rows.Count, 1).End(3).Row Sheet2.Rows("4:" & IIf(lr2 < 4, 4, lr2)).Delete Shift:=xlUp For r = 6 To lr1 c = 0 Sheet1.Select lr2 = Sheet2.Cells(Rows.Count, 1).End(3).Row If Evaluate("=COUNTIF($E$6:E" & r & ",E" & r & ")") = 1 Then Sheet1.Range("A5:N5").Copy Sheet2.Select Sheet2.Range("A" & lr2 + 2).Select ActiveSheet.Paste Application.CutCopyMode = False Sheet2.Range("f" & lr2 + 1) = Sheet1.Range("e" & r) Sheet2.Range("a" & lr2 + 2) = c + 1 Sheet2.Range("b" & lr2 + 2 & ":N" & lr2 + 2).Value = Sheet1.Range("b" & r & ":N" & r).Value c = c + 1 For n = r + 1 To lr1 If Sheet1.Range("e" & n) = Sheet1.Range("e" & r) Then lr2 = Sheet2.Cells(Rows.Count, 1).End(3).Row Sheet2.Range("A" & lr2 & ":N" & lr2).Copy Range("A" & lr2 + 1).PasteSpecial Paste:=xlPasteFormats Application.CutCopyMode = False Sheet2.Range("a" & lr2 + 1) = c + 1 Sheet2.Range("b" & lr2 + 1 & ":N" & lr2 + 1).Value = Sheet1.Range("b" & n & ":N" & n).Value c = c + 1: Sheet2.Range("A4").Select End If Next n End If Next r Sheet2.Select Application.ScreenUpdating = 1 MsgBox "Done by mr-mas.com" End Sub وهذا ملفك بعد التعديل بالتوفيق الترحيل على حسب الوظيفة.xlsm
  13. إن شاء اللّه يفيدك هذا المرفق بيان العجز والزيادة.xlsx
  14. إن شاء اللّه يفيدك هذا الموضوع برنامج مفتوح المصدر
  15. أعتقد سبقت الإجابة عن هذه النقطة بهذا المقترح هذا الشيت هو الأساس الذي يتم فيه التسجيل وباقي الشيتات تبحث فيه وتعرض منه ما يوافق شروط البحث بالتوفيق
  16. أخي الكريم من أساسيات البرمجة : * في حالة اختيار المستخدم لبديل واحد فقط يتم استخدام option button * في حالة اختيار المستخدم لأكثر من بديل نستخدم check box بوضوح أكثر: في مثل حالتك هذه يجب استخدام option button لأنك في الأخير تريد أن يكون عنصر واحد فقط هو المحدد بالتوفيق
  17. حسب فهمي للمطلوب إن شاء اللّه يكون هذا مطلوبك الثاني Sub hideblank() For n = 2 To 151 Columns(n).Hidden = Iif(Cells(5, n) = "",True,False) Next n End Sub Private Sub Worksheet_Activate() hideblank End Sub بالتوفيق
  18. المنتدى هنا مليء بموضوعات تعليمية وشرح مصور وفيديو يحتاج فقط من يبحث عنها كنوووووز
  19. عليكم السلام و رحمة الله وبركاته تنسيق رائع بارك الله لك اقتراحاتي: * وجود شيت تسجيل بيانات الدوام ويكون فيه مسلسل ورقم الموظف وأربعة أوقات دخول وخروج (Maint & apres M) وتاريخ اليوم وأي ملاحظات أخرى * تعديل شكل التقرير الشهري ليكون رأسيا ولموظف واحد وكذلك السنوي (طالما تحرص على عرض 4 أوقات) لكن إذا كان الهدف عرض إجمالي التأخير أو الإضافي بدون التوقيتات الأربعة فيمكن عمل التقرير أفقيا بالتوفيق
  20. جميعا بإذن الله أنا ما فعلت شيئا سوى ضبط بعض الجمل في ترتيبها حتى الزميل قلب الأسد قام بتعريف المتغيرات واختصار بعض السطور فقط بالتوفيق
  21. يمكنك استعمال هذا الكود للإخفاء Sub hideblank() For n = 2 To 151 If Cells(5, n) = "" Then Columns(n).Hidden = True Next n End Sub وهذا لإظهار الكل Sub showblank() Columns("b:eu").Hidden = False End Sub بالتوفيق
  22. جرب أن تحذف هذا السطر فهو لحذف عمليات الترتيب السابقة
×
×
  • اضف...

Important Information